Java 更改JTextfield的侦听器

Java 更改JTextfield的侦听器,java,swing,user-interface,listener,jtextfield,Java,Swing,User Interface,Listener,Jtextfield,我制作了一个程序,可以动态地从面板获取数据,但是我的代码需要用户点击enter按钮来更新数据。是否有一个变更监听器或其他监听器可以随时更新Jtextfield中的数据?谢谢 只需在文本字段中添加一个侦听器,以便在文本更改时进行跟踪 textfieldName.getDocument().addDocumentListener(new DocumentListener() { // implement the methods }); 如前所述-使用DocumentListener跟踪jT

我制作了一个程序,可以动态地从面板获取数据,但是我的代码需要用户点击enter按钮来更新数据。是否有一个变更监听器或其他监听器可以随时更新Jtextfield中的数据?谢谢

只需在文本字段中添加一个侦听器,以便在文本更改时进行跟踪

textfieldName.getDocument().addDocumentListener(new DocumentListener() {
    // implement the methods
});

如前所述-使用DocumentListener跟踪jTextField上的更改,但是,由于DocumentListener有点“过度工程化”,并且很少有用例需要区分不同类型的更改(insertUpdate、removeUpdate和changedUpdate),因此您可以做的是:

包装一个扩展DocumentListener的接口,并提供所有DocumentListener方法的默认实现:

@FunctionalInterface
public interface SimpleDocumentListener extends DocumentListener {
    void update(DocumentEvent e);

    @Override
    default void insertUpdate(DocumentEvent e) {
        update(e);
    }
    @Override
    default void removeUpdate(DocumentEvent e) {
        update(e);
    }
    @Override
    default void changedUpdate(DocumentEvent e) {
        update(e);
    }
}
然后在jTextField上使用它:

jTextField.getDocument().addDocumentListener(new SimpleDocumentListener() {
    @Override
    public void update(DocumentEvent e) {
        // Your code here
    }
});
或者您甚至可以将其与lambda表达式一起使用:

jTextField.getDocument().addDocumentListener((SimpleDocumentListener) e -> {
    // Your code here
});

你能提供一些代码让我们看一下吗?是的。将a附加到文本字段的文档。