Java Multi Threading:如何将文本从1个jtextfeild同时添加到另一个jtextfeild,并且如果jtextfeild中没有输入文本,则禁用jbutton

时间:2019-09-18 16:47:57

标签: java multithreading swing

这是打开窗口时的事件

JForm打开时发生

我只想将此功能用作功能,就像向中的stackoverflow添加一个问题

编辑并在编辑器下方同时显示更新的内容

 private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  

    Thread t1 = new Thread();
    t1.start();
}    

这是主要方法

    public static void main(String args[]) {

    Thread t1 = new Thread(
            () -> {
                // DEMO is the Name of JForm
                DEMO d = new DEMO();
                // Text1 is the first jtextfeild
                String x = d.Text1.getText();

                if (x.isEmpty()) {
                    //ButtonAdd is the jbutton in JFrom
                    d.ButtonAdd.setEnabled(false);
                } else {
                // Text2 is the Second jtextfeild
                    d.Text2.setText(x);
                    d.ButtonAdd.setEnabled(true);
                }

            }
    );

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new DEMO().setVisible(true);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

在初始化时禁用ButtonAdd并将以下侦听器添加到d.Text1

new TextFieldChangeListener(tf)
     {
       public abtract void onChange(String oldText, String newText)
       {
         d.Text2.setText(newText);
         if(newText.isBlank())
         {
              d.ButtonAdd.setEnabled(false);
         }
         else
         {
              d.ButtonAdd.setEnabled(true);
         }        
       }
     };