java - 如何将对象绑定(bind)到 Swing 表中的一行?

标签 java swing

在我的应用程序中,我有一些类似的线程在做它们的事情,我想在表格的一行中表示它们的一些属性(每行一个线程)。我将一个行对象传递给相应的线程并根据更改的值更新它们,但我在 API 中找不到类似的东西。那么,使用实际属性更新行的正确策略是什么?

最佳答案

使用 JTable,创建此类表的传统方法是让一个类实现 TableModel(或扩展 AbstractTableModel默认表模型)。在那里您将维护您的数据,并以这样一种方式进行维护,以便您可以轻松地为每个线程查找数据结构。您将实现 getValueAt 方法以返回每行线程的值。当一个线程的属性改变时,它会去更新 TableModel。然后您需要告诉您的 JTable 您的数据已更改并从模型更新它。您可以通过触发 tableChanged 事件来完成此操作。 AbstractTableModel 及其后代有多种可用的 fireTableChanged 类型的方法。确保在 EventDispatchThread 中触发事件。参见 topics on currency in SwingSwingWorker有关与绘画 GUI 交互的工作线程的信息。

关于java - 如何将对象绑定(bind)到 Swing 表中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2266812/

相关文章:

java - 当我点击 jbutton 图像时无法显示框架

java - 以编程方式即时启动 Java HPROF 分析器

java - 使用 JPA 时实现 MVC

java - 使用 Selenium WebDriver 测试元素是否存在?

java - 如何使用jdbc在swing中用另一个字段替换外键?

java - 我如何调用一个声明 ArrayList 并从另一个方法引用变量的方法?

java - 如何使用java在我的屏幕上制作弹出覆盖

java - Guava 表的原始替代品

java - Java 中用于拖动组件的 Swing 库

Java 帮助。如何绘制图像