gpt4 book ai didi

java - 数据更改时更新 JTable

转载 作者:行者123 更新时间:2023-11-29 05:02:36 30 4
gpt4 key购买 nike

这个问题可能已经得到解答,我读过很多类似的,但对我不起作用。所以我的 JTable 带有扩展 DefaultTableModel 的自定义表模型。我的数据是 Object[][] data 和 Column Names String[] columnNames。那么当我的数据发生变化时,我该如何更新表格呢?我一直在使用 tableModel.setDataVector(data, columnNames) 并且它正在工作,但它将我的自定义单元格渲染器重置为默认值。谢谢。

最佳答案

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

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

I have been using tableModel.setDataVector(data, columnNames) and it is working but it resets my custom cell renderer to default

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

table.setAutoCreateColumnsFromModel( false );

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

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

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