Java 如何正确读取awt文本字段中的数字?
我已经为我正在做的模拟项目编写了GUI,在窗口的事件处理代码中,例如Java 如何正确读取awt文本字段中的数字?,java,swing,awt,Java,Swing,Awt,我已经为我正在做的模拟项目编写了GUI,在窗口的事件处理代码中,例如 private void timestepKeyTyped(java.awt.event.KeyEvent evt) { String text = timestep.getText(); AMEC.steptime = Integer.parseInt(text); } 在这里,我想将输入到字段timestep中的任何输入分配给AMEC.steptime。我对所有文本字段都这样做 但是,当传递这些参数时,我
private void timestepKeyTyped(java.awt.event.KeyEvent evt) {
String text = timestep.getText();
AMEC.steptime = Integer.parseInt(text);
}
在这里,我想将输入到字段timestep中的任何输入分配给AMEC.steptime。我对所有文本字段都这样做
但是,当传递这些参数时,我的模拟无法正常运行,调试时,我发现只有第一个字符被解析为int。例如,如果我键入“31”,则分配给AMEC.steptime的值将变为3,而不是31
如何解决此问题?您面临的问题是您正在使用
键侦听器。不要使用它,使用一个ActionListener
,当你点击回车键时,执行actionPerformed
。然后你可以把同样的代码放进去,然后像符咒一样运行
使用swing而不是awt
示例如何使用它:
先导入:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
然后在代码的某个地方
JTextField textfield = new JTextField();
textfield.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JTextField timestep =(JTextField) e.getSource();// you could use this or just your variable.
String text = timestep.getText();
AMEC.steptime = Integer.parseInt(text);
}
});
作为补充说明,您可能只想在这个文本字段中允许数字值。在上一个问题中阅读更多关于如何制作的内容。
您面临的问题是您正在使用键侦听器。不要使用它,使用一个ActionListener
,当你点击回车键时,执行actionPerformed
。然后你可以把同样的代码放进去,然后像符咒一样运行
使用swing而不是awt
示例如何使用它:
先导入:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
然后在代码的某个地方
JTextField textfield = new JTextField();
textfield.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JTextField timestep =(JTextField) e.getSource();// you could use this or just your variable.
String text = timestep.getText();
AMEC.steptime = Integer.parseInt(text);
}
});
作为补充说明,您可能只想在这个文本字段中允许数字值。在上一个问题中阅读更多关于如何制作的内容。
对不起,在添加ActionListener之前,我没有删除KeyListener函数。谢谢,这成功了@马丁:好的,我把它放在example@nachokk:它只是你的复制品。@HovercraftFullOfEels但它是同时的,不涉及版权xD,你不应该删除它好吧,我两个都读了,你的比我的更干净。我不需要向上投票,所以为什么要搅浑呢?对不起,我在添加ActionListener之前没有删除KeyListener函数。谢谢,这成功了@马丁:好的,我把它放在example@nachokk:它只是你的复制品。@HovercraftFullOfEels但它是同时的,不涉及版权xD,你不应该删除它好吧,我两个都读了,你的比我的更干净。我不需要投票,为什么要把水弄脏?