我使用JFrame制作了一个窗口,在我的JPanel上我添加了3个组件:2个JTextFields(" field1"" field2")和它们之间的JButton(&#34) ;开关&#34)。我的目标是在单击JButton时将field1的值切换为field2,反之亦然。我认为我添加到JButton的ActionListener会实现我的目标:
public void actionPerformed(ActionEvent e) {
field2.setText(field1.getText());
field1.setText(field2.getText());
}
但是,它将field2的值更改为field1的值,但不是相反。
任何帮助都将不胜感激。
答案 0 :(得分:3)
你需要一个临时变量的待办事项。如果不使用on,则将文本从field1设置为field2,然后得到错误的值。
public void actionPerformed(ActionEvent e) {
String tmp= field2.getText()
field2.setText(field1.getText());
field1.setText(tmp);
}
答案 1 :(得分:2)
您需要一个临时变量来存储它。
现在,field2首先设置为field1中的任何内容,然后将field1设置为刚刚设置为field2的内容。您必须在覆盖内容之前临时保存内容:
String temp = field2.getText();
field2.setText(field1.getText());
field1.setText(temp);