java - 我想交换文本 TextFields

标签 java awt gettext settext

我尝试交换 TextField 的文本,但只有一个 TextField 发生了更改,其他一个保持不变:/,

我的代码是

import java.awt.*;
import java.awt.event.*;

        class mywindowclosing extends WindowAdapter {
                public void windowClosing(WindowEvent we) {
                        System.exit(0);
                }       
        }
        class Toggle extends Frame implements ActionListener {
                Label lb1, lb2;
                TextField txt1, txt2;
                Button bt1, bt2, bt3, bt4,bt5;
                public Toggle(){
                    super(".::Assignment::.");
                    setBounds(200,200,400,210);
                    setBackground(new Color(75,0,130));
                    setVisible(true);
                    setLayout(new FlowLayout(FlowLayout.LEFT));
                    //First Row
                    lb1=new Label("Label 1 ");
                    add(lb1);
                    txt1=new TextField(30);
                    add(txt1);
                    bt1=new Button("Button 1");
                    add(bt1);
                    bt1.addActionListener(this);
                    //2nd Row
                    lb2=new Label("Label 2 ");
                    add(lb2);
                    txt2=new TextField(30);
                    add(txt2);
                    bt2=new Button("Button 2");
                    add(bt2);
                    bt2.addActionListener(this);
                    //3rd Row
                    setLayout(new FlowLayout(FlowLayout.CENTER));
                    bt3=new Button("Clear");
                    add(bt3);
                    bt3.addActionListener(this);
                    bt4=new Button("Toggle");
                    add(bt4);
                    bt4.addActionListener(this);
                    bt5=new Button("Exit");
                    add(bt5);
                    bt5.addActionListener(this);
                    addWindowListener(new mywindowclosing());
                }

                public void actionPerformed(ActionEvent ae) {
                        if(ae.getSource()==bt1) {
                        txt1.setText("Button 1 pressed");
                        }
                        if(ae.getSource()==bt2) {
                        txt2.setText("Button 2 pressed");
                        }
                        if(ae.getSource()==bt3) {
                        txt1.setText("");
                        txt2.setText("");
                        }
                        if(ae.getSource()==bt4) {
                        txt1.setText(txt2.getText());
                        txt2.setText(txt1.getText());
                        }
                        if(ae.getSource()==bt5) {
                        System.exit(0);
                        }
                }       
        }       
        public class Toggler {
            public static void main(String args[]) {
                new Toggle();
            }
        }

最佳答案

对于下面的代码:

  if(ae.getSource()==bt4) {
                txt1.setText(txt2.getText());
                txt2.setText(txt1.getText());
                }

执行此操作后,txt1 (TextField) 和 txt2 (TextField) 中的文本将相同。

如果您想在它们之间交换文本,则需要使用临时变量。

尝试一下:

    if (ae.getSource() == bt4) {

        String saveText1 = txt1.getText();
        txt1.setText(txt2.getText());
        txt2.setText(saveText1);
    }

关于java - 我想交换文本 TextFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006913/

相关文章:

java - 将 weblogic JMS 移动到 Oracle 高级队列时出错

java - 时间戳显示错误数据

java - windowClosing() 方法没有被调用

java - Java Swing 中的空指针异常

java - Android 布局过渡效果

java - 当应用程序尝试将数据写入数据库时​​出现 JBAS011469 错误。 (JBossAS7, MySql)

Java无法实例化Image?

c++ - 在 C++ 中使用数组调用具有可变数量参数的函数(如 python 的 * 运算符)

internationalization - 用两个复数词国际化句子

gettext - 我没有从 xgettext 得到输出