Java等效于C#TextBox TextChanged事件

本文关键字:TextChanged 事件 C#TextBox Java | 更新日期: 2023-09-27 18:19:26

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

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

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

与此等价的java是什么?或者,如何在java中实现类似的功能?

感谢您的反馈/帮助/建议。

Java等效于C#TextBox TextChanged事件

对于Swing,如果您想在文本组件的文本发生更改后得到通知,您可以使用添加到JTextComponent文档中的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!
     }
  });

另一方面,如果您想在文本提交到文本组件之前检查文本,您可以向JTextComponent的文档添加DocumentFilter。

我建议将DocumentListener注册到组件的文档中。其中,您将收听DocumentEvent s。