5

在 C# 中有一个文本框事件如下

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

一旦文本框中的文本发生更改,就会触发 fooText_TextChanged 中的代码。

与此等效的java是什么?或者如何在java中实现类似的东西?

感谢您提供任何反馈/帮助/建议。

4

2 回答 2

11

对于 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 的 Document 中。

于 2012-01-04T02:11:04.410 回答
4

我建议将 a 注册DocumentListener到您的组件的文档中。其中,您将聆听DocumentEvents。

于 2012-01-04T02:13:17.397 回答