gpt4 book ai didi

java - 更新 JTable 数据——使用 AbstractTableModel

转载 作者:行者123 更新时间:2023-12-01 14:20:36 27 4
gpt4 key购买 nike

我广泛阅读了论坛并尝试了多种方法来解决这个问题。

问题:我定制了AbstractTableModel这样我就可以控制数据的显示方式。它只是存储在 String[][] 中。它使用 JDBC 连接到数据库填充初始数据。因此,当我的用户(通过 Swing GUI)搜索某个内容时,我在幕后只需构建一个查询来查询数据库,它就会返回 ResultSet 。现在,我想在 JTable 上显示这个新数据.

研究:我读了很多关于听众和解雇更新之类的内容。但我读了又读,仍然没有完全理解它们。当我将新模型设置为JTable时,我其实想保留我的习惯AbstractTableModel我创建并更新了数据,这可能吗(也许使用我可以创建的 AbstractTableModel 类中的公共(public)方法)?

其他问题:我应该使用监听器来实现此功能吗?我需要添加监听者或观察者吗?

谢谢,我真的很感激!丰富

最佳答案

Research: I read a lot about listeners and firing updates and things. But I have read and reread them and still do not completely understand them. When I set a new model to the JTable, I actually want to KEEP my custom AbstractTableModel I created and just update the data, is this possible (maybe with public methods inside AbstractTableModel class that I can create)?

是的,这是可能的。基本上,您需要...

  1. 在自定义表格模型中提供添加和删除行的功能,或者
  2. 使用新数据构造自定义表模型的新实例

Additional Questions: Should I be using a listener for this functionality? Do I need to add listeners or observers?

没有上下文很难说。我想说,一般来说不会。在您的情况下,创建一个 SwingWorker 可能更简单,执行数据库查询并填充新的表模型并从 doInBackground 方法返回它或使用 publish /process 方法来更新现有模型。

关于java - 更新 JTable 数据——使用 AbstractTableModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604183/

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