首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新JTable数据--使用AbstractTableModel

更新JTable数据--使用AbstractTableModel
EN

Stack Overflow用户
提问于 2013-07-11 21:54:50
回答 2查看 595关注 0票数 0

我一直在广泛阅读论坛,并尝试了许多如何解决这个问题的方法。

问题:,我做了一个定制的AbstractTableModel,这样我就可以控制数据的显示方式。它只是简单地存储在String[][]中。它使用JDBC连接到DB以填充初始数据。因此,当我的用户(通过Swing图形用户界面)搜索某个东西时,在幕后,我只需构造一个查询来查询DB,它就会返回一个ResultSet。现在,我想在JTable上显示这些新数据。

研究:,我读了很多关于听众和触发更新等等的文章。但我读了又读了,但仍然不完全理解它们。当我为JTable设置一个新模型时,我实际上希望保留我创建的自定义AbstractTableModel并只更新数据,这是可能的(可能在我可以创建的AbstractTableModel类中的公共方法中)吗?

附加问题:是否应该使用侦听器来实现此功能?我需要添加侦听器还是观察者?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-12 05:29:05

研究:我读了很多关于听众和激发更新和其他事情的文章。但我读了又读了,但仍然不完全理解它们。当我为JTable设置一个新模型时,我实际上希望保留我创建的自定义AbstractTableModel并只更新数据,这是可能的(可能在我可以创建的AbstractTableModel类中的公共方法中)吗?

是的有可能。基本上你需要..。

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

其他问题:我是否应该使用侦听器来实现此功能?我需要添加侦听器还是观察者?

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

票数 1
EN

Stack Overflow用户

发布于 2013-07-12 15:15:36

....so我可以控制数据的显示方式

使用一个模型来存储数据。视图(JTable)显示数据。

它只是存储在一个字符串中。

不需要创建自定义TableModel。只需使用DefaultTableModel即可。

实际上我想保留我的定制AbstractTableModel

使用setDataVector()方法的DefaultTableModel

请参阅数据库示例中的表中的Get the Code部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17604183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档