创建一个JButton,用鼠标点击从2个JTextFields切换文本

时间:2014-08-06 14:12:01

标签: java swing actionlistener jtextfield

我使用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的值,但不是相反。

任何帮助都将不胜感激。

2 个答案:

答案 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);