Java equivalent to C# TextBox TextChanged event

时光总嘲笑我的痴心妄想 提交于 2019-12-01 04:09:28

问题


in C# there is an event for textboxes as follows

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

the code in the fooText_TextChanged is fired once the text within the textbox is altered.

What is the java equivalent to this? Or how can something similar to this be achieved in java?

Thanks for any feedback/help/advice.


回答1:


For Swing, If you wanted to be notified after the text component's text had changed, you'd use a DocumentListener that was added to the JTextComponent's Document. e.g.,

  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!

     }
  });

If on the other hand, you wanted to check text before it has been committed to the text component, you'd add a DocumentFilter to the JTextComponent's Document.




回答2:


I recommend registering a DocumentListener to your component's document. Therein, you'll listen for DocumentEvents.



来源:https://stackoverflow.com/questions/8721197/java-equivalent-to-c-sharp-textbox-textchanged-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!