【问题标题】:Java equivalent to C# TextBox TextChanged eventJava 等价于 C# TextBox TextChanged 事件
【发布时间】:2012-02-02 00:28:33
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: c# java swing jtextfield textchanged


    【解决方案1】:

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

    【讨论】:

    • 实际上您将 DocumentListener 添加到 Document 而不是组件。
    【解决方案2】:

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

    【讨论】:

    • 感谢您的快速回复,我会检查一下:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    相关资源
    最近更新 更多