2012-01-04 80 views
5

在C#中存在的文本框的事件如下相當於Java到C#文本框TextChanged事件

private void fooText_TextChanged(object sender, EventArgs e) 
{ 
    //do something 
} 

一旦文本中的文本改變在fooText_TextChanged代碼被激發。

什麼是相當於這個Java?或者如何可以在java中實現類似的東西?

感謝您的任何反饋/幫助/建議。

回答

10

對於Swing,如果您想在之後通知文本組件的文本發生了變化,您可以使用已添加到JTextComponent的Document中的DocumentListener。例如,

JTextField myField = new JTextField(); 

    myField.getDocument().addDocumentListener(new DocumentListener() { 

    public void removeUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 

    public void insertUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 

    public void changedUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 
    }); 

如果在另一方面,你想它一直致力於文本組件之前檢查文本,你會加入某個DocumentFilter到JTextComponent中的文檔。

+0

感謝您的快速回復,我會檢查一下:) – Ari 2012-01-04 02:13:35

+0

非常感謝,完美的作品:) – Ari 2012-01-04 02:27:26

+0

非常歡迎您! – 2012-01-04 02:32:56

4

我建議您在組件的文檔上註冊DocumentListener。其中,你會聽取DocumentEvent s。

+0

非常感謝:) – Ari 2012-01-04 02:26:36

+1

實際上,您將DocumentListener添加到文檔而不是組件。 – camickr 2012-01-04 05:24:40

+0

@camickr,哎呀..謝謝你! – mre 2012-01-04 13:07:36

相關問題