如何解决JTextField不会如预期的那样将值从文本字段传递到对象字段
我正在使用javax.swing
软件包编写2D绘图应用程序。这个想法是创建一个DrawingApplicationFrame
(扩展Jframe
类),其中实例化几个JButtton
,JCheckBox
,JTextFields
来改变绘画的状态,以及嵌入在DrawingPanel
类中的drawpanel
实例DrawingApplicationFrame
之外。我使用JTextField
实例linewidthText
和DashLengthText
来更改实例Width
的{{1}}和Length
属性。但是,文本字段似乎不接受其中的值并更改了drawpanel
和drawpanel.Width
的值。如何解决错误以使文本字段传递值?
以下是文本字段drawpanel.Length
和linewidthText
的侦听器的创建:
DashLengthText
JTextField linewidthText=new JTextField(2);
JTextField DashLengthText=new JTextField(2);
这是DrawPanel类的代码:
linewidthText.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e)
{
drawpanel.Width=Float.parseFloat(linewidthText.getText());
drawpanel.dashed=new Basicstroke(drawpanel.Width,Basicstroke.CAP_BUTT,Basicstroke.JOIN_BEVEL,new float[]{drawpanel.Length},10);
drawpanel.concrete=new Basicstroke(drawpanel.Width);
}
});
DashLengthText.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e)
{
drawpanel.Length=Float.parseFloat(DashLengthText.getText());
drawpanel.dashed=new Basicstroke(drawpanel.Width,10);
}
});
解决方法
这是我自己解决的。有两种方法:一种是从按钮上的文本字段分配值检索任务。另一个只需按“ Enter”键!事实证明,该代码可以正常工作。仅当在没有任何进一步操作的情况下将值简单地输入到文本字段中时,它才起作用!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。