重新创建JTable或卸下所有行并添加新行



我有一个jtable和defaultTableModel,我想每3秒删除JTable的所有行,并在JTable中添加新行。考虑到性能,做到这一点的最佳选择是什么,重新创建JTable或删除所有行并添加行?

做到这一点的最佳选择是什么,续订JTable或删除所有行和addrows?

如果您重新创建JTable,则将为表重新创建所有渲染器和编辑。

如果您更改了tablemodel,则表需要重新创建TableColumnModel,以及所有基于新TableModel的TableColumns。

将需要创建更多的对象来支持jtable/tablememodel关系。

卸下行和添加行,只会导致表使用所有当前渲染器重新粉刷新数据。我会说这更有效。而不是一次添加一行,而是应该一次添加所有行

您可以创建一个挖掘到数据对象的tablemodel。一旦更改基础数据对象,您就会调用FireTableDataChanged()。

来自Javadoc的AbstractTableModel#firetabledatachanged():

通知所有听众,表行中的所有单元格值都可能已经更改。行的数量也可能已更改,可JTable应该从头开始重新绘制表。表格的结构(如列的顺序)被认为是相同的。

最新更新