2014-10-17 181 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