我做了一个程序,动态地从一个面板获取数据,但是我的代码需要用户点击输入按钮来更新数据。有没有一个更改监听器或其他监听器可以在任何时候更新Jtext field中的数据?谢谢!
如前所述-使用DocumentListener跟踪jTextField上的更改,但是,由于DocumentListener有点“过度紧张”,并且很少有用例需要区分不同类型的更改(插入更新、删除更新和更改更新),您可以做的是:
包装一个扩展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
});
只需向文本字段添加一个侦听器,以便它跟踪文本更改的时间
textfieldName.getDocument().addDocumentListener(new DocumentListener() {
// implement the methods
});
在我的代码中,如果用户在ComboBox 2中输入值,它将反映在TextField中,但是如果用户从ComboBox 1的下拉列表中选择,而不更改ComboBox 2中的值,那么TextField中的值将保持不变,它不会更改。我做错了吗? 测试2。txt:1任何帮助都将不胜感激!
问题内容: 我希望消息框在用户更改文本字段中的值后立即显示。目前,我需要按Enter键才能弹出消息框。我的代码有什么问题吗? 任何帮助,将不胜感激! 问题答案: 将侦听器添加到为您自动创建的基础文档中。
问题内容: 因此,您可能知道,如果您有一个文本字段并向其中添加一个ActionListener,它将仅侦听Enter键的按键操作。但是,我想让我的ActionListener监听文本的更改。所以基本上我有这个: 有什么方法可以收听文本的更改(例如actionPerformed事件中记录的内容)? 问题答案: 来自@JR的回答 使用基础文档:
问题内容: 我希望在用户更改文本字段中的值后立即显示消息框。目前,我需要按Enter键才能弹出消息框。我的代码有什么问题吗? 任何帮助,将不胜感激! 问题答案: 将侦听器添加到为你自动创建的基础文档中。
我使用一个JTextField,其中我过滤输入进来通过REGEXs和通知用户(背景颜色变化),然后推动更新出一个套接字(字符的字符,而不是一个'点击进入当你完成'的行为,按规格) 问题是,由于没有保证DocumentListener通知的顺序,我不能将更新的传输和更新的验证放在同一种侦听器上。不同类型的监听器(KeyListener vs DocumentListener vs…)之间是否有任何保
在JavaScript中是否可以监听属性值的更改?例如: 我想响应属性中的任何更改。 我已经阅读了对象,以及该对象的替代对象(包括使用动画事件的对象)。据我所知,它们是关于实际DOM的更改。我更感兴趣的是对一个特定DOM元素的属性更改,所以我不认为仅此而已。当然,在我的实验中,这似乎不起作用。 我希望在没有jQuery的情况下这样做。 谢谢