gpt4 book ai didi

java - 是否可以让单个文档监听器在 Swing 中监听多个文本字段

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:23 24 4
gpt4 key购买 nike

我有一个 JTable 上的 12 列的 12 个过滤器。每个过滤器都是一个 JTextField 类型的 TextField。每次用户在文本框过滤器中输入数据时,就会进行搜索。

示例:假设说,我有 3 列和上面的 3 个文本框作为过滤器。现在,在我的表过滤的任何文本框中键入的任何内容都必须发生。它发生得很好。

╔═════════════╦═════════════╦═════════════╗
║ [TextField] ║ [TextField] ║ [TextField] ║
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╠═════════════╬═════════════╬═════════════╣
... ... ...
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╚═════════════╩═════════════╩═════════════╝

每个文本字段的文本字段监听器如下所示,

textField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) { method(); }
public void removeUpdate(DocumentEvent e) { method(); }
public void insertUpdate(DocumentEvent e) { method(); }
};

我的问题是,我对所有 12 个文本字段都重复了这段代码,这让我很不高兴。这是我们唯一的办法吗?或者有人可以建议我更好的方法吗?

最佳答案

  • 从匿名类切换到内部类,并将相同的监听器附加到每个字段。来源包含在事件中
  • 让它成为一个单独的类,并继续为每个字段使用单独的监听器。至少避免代码重复

参见 this tutorial一个内部类的例子

关于java - 是否可以让单个文档监听器在 Swing 中监听多个文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12910522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com