2014-10-17 112 views
1

我是新的Java GUI,我有2 JTextFieldtxtMessage1txtMessage2。我想归档这个:如果一个文本文件有焦点,另一个将被清空,这是可能的,以及如何将其归档?如何获得焦点时清空JTextField

我想:

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

但它不工作,不扔任何东西....

+2

查找到[写的焦点侦听] (http://docs.oracle.com/javase/tutorial/uiswing/events/focuslistener.html)... – TNT 2014-10-17 15:03:33

回答

2

你需要为它FocusListener,就像这样:

FocusAdapter fl = new FocusAdapter() 
{ 
    public void focusGained (FocusEvent evt) 
    { 
     if (evt.getSource() == txtField1) 
      txtField2.setText(""); 
     else if (evt.getSource() == txtField2) 
      txtField1.setText(""); 
    } 
} 
txtField1.addFocusListener(fl); 
txtField2.addFocusListener(fl); 
+0

如何在当前类中的方法中创建代码,而不是像这样的单独的类中? – 2014-10-17 15:10:37

+0

@RonaldinhoState我编辑了这个问题,你现在有一个anonymos内部类型。你可以在你的Method/Constructor中使用这段代码 – msrd0 2014-10-17 15:13:51

+0

你的意思是addFocusListener不是setFocusListener吧? – 2014-10-17 15:21:07