Java相当于C#TextBox TextChanged事件

Ari*_*Ari 5 c# java swing jtextfield textchanged

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

private void fooText_TextChanged(object sender, EventArgs e)
{
    //do something 
}
Run Code Online (Sandbox Code Playgroud)

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

什么是Java相当于此?或者如何在java中实现与此类似的东西?

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

Hov*_*els 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!

     }
  });
Run Code Online (Sandbox Code Playgroud)

另一方面,如果要在将文本提交到文本组件之前检查文本,则需要将DocumentFilter添加到JTextComponent的Document中.