Java 更改JTextfield的侦听器
我制作了一个程序,可以动态地从面板获取数据,但是我的代码需要用户点击enter按钮来更新数据。是否有一个变更监听器或其他监听器可以随时更新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
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附加到文本字段的文档。