Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果获得焦点,如何清空JTextField_Java_Swing_Focus_Jtextfield - Fatal编程技术网

Java 如果获得焦点,如何清空JTextField

Java 如果获得焦点,如何清空JTextField,java,swing,focus,jtextfield,Java,Swing,Focus,Jtextfield,我是java GUI新手,我有2个JTextField的txtMessage1和txtMessage2。我想存档:如果一个文本文件有焦点,另一个将被清空,这可能吗?如何存档 我试过: if (txtMessage1.isFocusOwner()) txtMessage2.setText(""); if (txtMessage2.isFocusOwner()) txtMessage1.setText(""); 但是它不起作用,不抛出任何东西……您必须为每个JTextField定义

我是java GUI新手,我有2个
JTextField
txtMessage1
txtMessage2
。我想存档:如果一个文本文件有焦点,另一个将被清空,这可能吗?如何存档

我试过:

if (txtMessage1.isFocusOwner())
    txtMessage2.setText("");
if (txtMessage2.isFocusOwner())
    txtMessage1.setText("");

但是它不起作用,不抛出任何东西……

您必须为每个
JTextField
定义一个
FocusListener
,或者为两者定义一个

请参见本页底部的示例:

    • 您需要一个新的解决方案,如下所示:

      FocusAdapter fl=新的FocusAdapter()
      {
      获得公共无效焦点(焦点事件evt)
      {
      if(evt.getSource()==txtField1)
      txtField2.setText(“”);
      else if(evt.getSource()==txtField2)
      txtField1.setText(“”);
      }
      }
      txtField1.addFocusListener(fl);
      txtField2.addFocusListener(fl);
      
      研究……我如何在我当前类的方法中生成代码,而不是在这样一个单独的类中生成代码?@RonaldinhoState我编辑了这个问题,您现在有了一个匿名的内部类型。您可以在方法/构造函数中使用此代码,您的意思是addFocusListener而不是setFocusListener,对吗?@RonaldinhoState是的,我的意思是,对不起