2012-01-04 72 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

相关问题