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

数据更改时更新JTable

冉德元
2023-03-14

这个问题可能已经得到了回答,我读过很多类似的,但对我不起作用。因此,我的JTable具有扩展DefaultTableModel的自定义表模型。我的数据是对象[][]数据和列名字符串[]columnnames。那么,当我的数据发生更改时,如何更新表呢?我一直在使用tablemodel.setDataVector(data,columnNames),它正在工作,但它将我的自定义单元格呈现器重置为默认值。谢了。

共有1个答案

司马奇希
2023-03-14

不要改变数组!DefaultTableModel将数据从数组复制到DefaultTableModel使用的内部存储。

相反,您需要使用JTable或TableModel的setValueat(...)方法直接更改TableModel。然后TableModel将通知表进行了更改。

我一直在使用tablemodel.setDataVector(data,columnNames),它正在工作,但它将我的自定义单元格呈现器重置为默认

如果出于某种原因需要重新创建整个TableModel,则可以使用:

table.setAutoCreateColumnsFromModel( false );

在您第一次使用TableModel创建表之后。现在,下次使用SetDataVector(...)方法时,将不会重新创建表的TableColumnModel,这意味着不会丢失自定义呈现器。

 类似资料:
  • UserViewModel: 用户存储库:

  • 问题内容: 我的应用程序中有以下服务: 然后在这样的控制器中使用它: 因此,基本上我的服务每5秒更新一次,因此我将其链接到。然后,我尝试了类似的不同方法,但是对所做的更改未反映在控制器和视图中。 它在我的模板中仍然为空。您知道我如何传播这些变化吗? 问题答案: 虽然使用可以解决问题,但这不是最有效的解决方案。您可能想要更改在服务中存储数据的方式。 问题是您每次在为范围分配指向旧位置的范围内分配新值

  • RecycerView只显示创建时ArrayList(适配器的数据)中的项。我所有添加更多行的尝试似乎都奏效了,但列表仍然是初始数据。它不是重复的,因为我尝试了谷歌上找到的所有建议。我已经做了什么: Adapter.NotifyDataSetChanged(); Adapter.NotifyItemChanged(5); recyleList.invalidate(); recyclelist.s

  • 问题内容: 我有一个ng-repeat,它在更改正在使用的数组中的数据时不会更新。我已经研究了一段时间,但似乎没有任何效果。最初,当页面加载时,ng- repeat显示数据集的第一页,在获取新数据(下一页)并使用该数据设置该数组时,ng- repeat不会注意到更改,并且永远不会填充更新的数组。如果有人可以在正确的方向上指导我,将不胜感激。 }]); 问题答案: 尝试将tbody包装在div中,但

  • 数据更新时间指当前可分析数据是什么时间准备好的。通过它你可以了解到,目前数据的时效性。 eg:当数据更新时间显示为3分钟前,则代表可以查看约3分钟之前的数据;当数据更新时间显示00:00~6:00的某一个时间,则代表可以查看前一天以及更早的数据。 1.数据更新频率 (1) 当应用刚创建时,支持分钟级别数据更新频率,即刚上传的数据在几分钟内就能在系统中看到 (2) 当应用累计事件触发超过10000

  • 我决定在 Postgresql 的 Java 项目中使用 liquibase,所以我使用 maven goal 创建了初始变更集。现在它正在毫无问题地工作。 我正在寻找的是,在我对数据库进行了更改(比如从RDBMS客户端)之后,是否有任何命令可以分析更改日志和数据库状态,以根据我的更改生成更改集并将其附加到更改集xml文件中?