Java Swing将JTextField的值获取为int并将其传递给另一个类

Java Swing将JTextField的值获取为int并将其传递给另一个类,java,swing,jlabel,jtextfield,Java,Swing,Jlabel,Jtextfield,我有一个带有GUI组件的类,用户在其中向JTextFields输入数字。我想将该值作为int传递给同一个包中的另一个类(Ticket),在这个包中,我将使用这两个int计算一个结果,并将一个字符串返回到GUI类,然后将其放入JLabel中 我不能让它工作。我可以从GUI类中的Ticket类访问一个方法,并在JLabel中打印一些内容,但我无法从JTextField中传递这两个值来进行计算。假设在GUI中有JTextFields。然后在GUI中,您可以使用以下两种方法返回这些JTextFields

我有一个带有GUI组件的类,用户在其中向JTextFields输入数字。我想将该值作为int传递给同一个包中的另一个类(Ticket),在这个包中,我将使用这两个int计算一个结果,并将一个字符串返回到GUI类,然后将其放入JLabel中


我不能让它工作。我可以从GUI类中的Ticket类访问一个方法,并在JLabel中打印一些内容,但我无法从JTextField中传递这两个值来进行计算。

假设在GUI中有JTextFields。然后在GUI中,您可以使用以下两种方法返回这些JTextFields的值:

//return textfield 1
public int getTextFieldOne() {
    return Integer.parseInt(textField_one.getText());
}

//return textfield 2        
public int getTextFieldTwo() {
    return Integer.parseInt(textField_two.getText());
}

然后在您的Ticket类中,通过调用上述方法进行计算,然后只需在JLabel上调用
setText()
方法来设置结果。

更专门的gui元素的可能副本可能更有益。有点像JSpinner。否则,您必须调用
getText()
,并使用
Integer.parseInt(text)
手动将其转换为int。当然,如果用户没有提供有效的数字,这也会引发异常;最重要的是我有票;为了更快地获得更好的帮助,在GUI类中发布一个or.so,然后我会添加一个方法,将Ticket类的结果放入JLabel中,就像这样?labelRes.setText(tic.getRes());我已经在GUI类的顶部声明了Ticket,当我尝试这个时,我得到了NullPointerException@zetbo很抱歉迟了答复。但是是的,这应该行得通。要调试,请在GUI中尝试
System.out.print(tic.getRes())
,以确保方法正常工作。如果这给了您正确的结果,那么您的计算方法工作正常,问题出在代码的其他地方。@zetbo但我认为您的错误很可能与您初始化JLabel的方式以及如何使用它有关。我已设法修复了它。好像我忘了在方法中输入参数。无论如何,谢谢你的帮助:)