Java 如果获得焦点,如何清空JTextField
我是java GUI新手,我有2个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定义
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是的,我的意思是,对不起