如何限制JTable及其内部表模型的大小

时间:2010-11-26 03:03:30

标签: java swing size jtable limit

我有一个使用DefaultTableModel作为其内部数据模型的JTable。它将从网络接收数据包并在JTable中显示数据包。现在我想限制数据模型大小,以便它只包含最新的数据包和最旧的数据包,但DefaultTableModel使用Vector类型的dataVector,它没有大小限制。 有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:3)

如果您始终在表格的顶部插入新行,则可以在执行此操作时轻松执行TableModel检查,并手动删除:

 model.insertRow(0,rowData);
 while (model.getRowCount() > myMaxRowCount) {
    model.removeRow(model.getRowCount()-1);
 }

另一种选择是将此流程放入DefaultTableModel(甚至AbstractTableModel的扩展名中,这样您就可以放弃Vector以获得更现代的东西了。模型可以包含您要维护的maxRowCount,然后您可以实现一个新的updateModel方法,该方法将执行新数据的add和旧数据的remove