当前位置: 首页 > 知识库问答 >
问题:

更改JTextfield的监听器

万勇
2023-03-14

我做了一个程序,动态地从一个面板获取数据,但是我的代码需要用户点击输入按钮来更新数据。有没有一个更改监听器或其他监听器可以在任何时候更新Jtext field中的数据?谢谢!

共有2个答案

濮阳宜
2023-03-14

如前所述-使用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
});
黄丰
2023-03-14

只需向文本字段添加一个侦听器,以便它跟踪文本更改的时间

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的情况下这样做。 谢谢