Java 如何使用JButton从JTextField获取int
我试图通过单击JButton从JTextField获取int,但我不知道如何实现。我正在尝试获取int并将其设置为一个变量,以便在我的程序中进一步使用它 以下是代码这是整个方法:Java 如何使用JButton从JTextField获取int,java,swing,jbutton,jtextfield,Java,Swing,Jbutton,Jtextfield,我试图通过单击JButton从JTextField获取int,但我不知道如何实现。我正在尝试获取int并将其设置为一个变量,以便在我的程序中进一步使用它 以下是代码这是整个方法: JFrame presets = new JFrame("Presets"); presets.setVisible(true); presets.setSize(500, 500); JPanel gui = new JPanel(new BorderLayout(2,2));
JFrame presets = new JFrame("Presets");
presets.setVisible(true);
presets.setSize(500, 500);
JPanel gui = new JPanel(new BorderLayout(2,2));
JPanel labelFields = new JPanel(new BorderLayout(2,2));
labelFields.setBorder(new TitledBorder("Presets"));
JPanel labels = new JPanel(new GridLayout(0,1,1,1));
JPanel fields = new JPanel(new GridLayout(0,1,1,1));
labels.add(new JLabel("Place values on Cat.2/Cat.3 at"));
JTextField f1 = new JTextField(10);
String text = f1.getText();
int first = Integer.parseInt(text);
labels.add(new JLabel("and place follow up value at"));
fields.add(new JTextField(10));
labelFields.add(labels, BorderLayout.CENTER);
labelFields.add(fields, BorderLayout.EAST);
JPanel guiCenter = new JPanel(new BorderLayout(2,2));
JPanel submit = new JPanel(new FlowLayout(FlowLayout.CENTER));
submit.add( new JButton("Submit") );
guiCenter.add( submit, BorderLayout.NORTH );
gui.add(labelFields, BorderLayout.NORTH);
gui.add(guiCenter, BorderLayout.CENTER);
JOptionPane.showMessageDialog(null, gui);
试试这个
String getText()
Returns the text contained in this TextComponent.
因此,将字符串转换为整数,如下所示:
try {
int integerValue = Integer.parseInt(jTextField.getText());
}
catch(NumberFormatException ex)
{
System.out.println("Exception : "+ex);
}
如果要在按下“提交”按钮时获取f1文本,请使用以下代码:
.
.
.
JPanel submit = new JPanel(new FlowLayout(FlowLayout.CENTER));
JButton button = new JButton("Submit");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
int first = Integer.parseInt(f1.getText().trim());
}
});
submit.add(button);
guiCenter.add(submit, BorderLayout.NORTH);
.
.
.
您可能希望输入的数据为int。将其写入按钮操作中
JButton button = new JButton("Submit");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
int myInt=Integer.parseInt(jtextfield.getText());
System.out.println("Integer is: "+myInt);
//do some stuff
}
catch (NumberFormatException ex) {
System.out.println("Not a number");
//do you want
}
}
});
记住Integer.parseInt抛出必须捕获的NumberFormatException。请参见更多详细信息?这就像向一个你几乎不知道存在于暗室中的目标射箭。不清楚是哪一个数据?以什么形式?从开始,然后看一看,1在喷丝头NumberModel中使用JSpinner,如中所示。2为了更快地获得更好的帮助,请发布一个。注意最新的编辑:可能有人可以帮助添加代码段,但我仍然建议使用SSCCE。如何让我的JButton做到这一点?我只是在我的按钮下面使用这个代码吗?@ChildProdigy看一看,@MadProgrammer这就是我等待的原因。@MadProgrammer我试过了,什么都没用,这就是我来找你们的原因help@ChildProdigy那很好,但是要为一些紧张的学习做好准备;-花点时间阅读链接的教程,如果您对这些教程有特殊问题,请告诉我们。我们很乐意提供帮助,但你需要做好为之工作的准备;那很好用。如果我对第二个文本字段这样做,我可以使用相同的按钮侦听器,对吗?当然可以。您必须在使用方法之前定义first和f1,否则会出现错误,要求您将其设置为最终值。请注意,您可能需要使用f1.getText.trim删除输入字符串开头或结尾的任意空白