Swing java中与textField的标签连接
我想在当前可用的标签中获取一些值,并用数字添加(计算) 和显示在文本字段上,但存在错误Swing java中与textField的标签连接,swing,jframe,jpanel,jlabel,jtextfield,Swing,Jframe,Jpanel,Jlabel,Jtextfield,我想在当前可用的标签中获取一些值,并用数字添加(计算) 和显示在文本字段上,但存在错误 private void ch13ActionPerformed(java.awt.event.ActionEvent evt) r1=Integer.parseInt(tLabel.getText()); //r2 and r1 are integers // error .. It says "Void type not allowed her
private void ch13ActionPerformed(java.awt.event.ActionEvent evt)
r1=Integer.parseInt(tLabel.getText()); //r2 and r1 are integers
// error .. It says "Void type not allowed here"
r2 = Integer.parseInt(tLabel.setText(String.valueOf("3")));
result=r1+r2;
creaditTxt.setText(result+"");
}
那么我该如何解决这个问题呢?setText()
返回void
。所以通过这样做
r2 = Integer.parseInt(tLabel.setText(String.valueOf("3")));
你是说,r2
=void。那是不可能的
您可能希望使用2个文本字段和一个标签来显示结果
public class AddFrame extends JFrame {
private JLabel result = new JLabel();
private JTextField number1 = new JTextField(10);
private JTextField number2 = new JTextField(10);
private JButton addBut = new JButton("Add");
public AddFrame(){
setLayout(new GridLayout(4, 1));
add(result);
add(number1);
add(number2);
add(addBut);
addBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int num1 = Integer.parseInt(number1.getText());
int num2 = Integer.parseInt(number2.gettext());
int total = num1 + num2;
result.setText(String.valueOf(total));
}
});
}
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
AddFrame frame = new AddFrame();
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
你到底想完成什么。更详细地解释一下,你有多少标签,它们的变量名,以及
r1
和r2
是什么。另外,在错误行中,您到底想要完成什么?