2012-06-29 58 views
0

這裏添加的ChangeListener我的情況:錯誤上的JTextField

textField1.addChangeListener(new ChangeListener() { 
     @Override 
     public void stateChanged(ChangeEvent e) { 
      textField1StateChanged(e); 
     } 
    }); 

錯誤說addChangeListener是未定義類型的JTextField。 還有其他東西要導入嗎? (我在Java中的新手) 感謝

回答

2

你可能想試試這個:

// Listen for changes in the text 
textField.getDocument().addDocumentListener(new DocumentListener() { 
    public void changedUpdate(DocumentEvent e) { 
     //your code 
    } 
    public void removeUpdate(DocumentEvent e) { 
    } 
    public void insertUpdate(DocumentEvent e) { 
    } 
}); 
+0

更多信息可以在這裏找到:http://docs.oracle.com/javase/tutorial/uiswing/events/documentlistener.html – Keppil

0

那是因爲在沒有JTextField的這樣的方法。你必須做的是讓你的課程實現ChangeListener,並實現stateChanged()方法。在這裏,您將獲得通過傳入的ChangeEvent觸發事件的組件,並據此採取行動。下面是來自docs一個例子:

class YourClass implements ChangeListener { 
    public void stateChanged(ChangeEvent e) { 
     if (e.getSource() instanceof JTextField) { 
      JTextField source = (JTextField)e.getSource(); 
      if(!source.getValueIsAdjusting()) { 
      // check if this is the component you want and respond to the event 
      } 
     }  
    } 
}