向 JTable 添加行
我们有一个简单的项目,我们从套接字读取数据,并希望用即将到来的数据填充表,但是我们找不到将行添加到尚未创建的对象的方法,我们只能在创建表时找到如何添加行。JTable
是否可以将行动态添加到 中,或者有更好的替代对象来处理这种显示数据的方式?JTable
编辑:非常感谢您的回答。
他们三个人看起来都很有前途,但我只能选择一个,我认为最好的是纪尧姆的。
我们有一个简单的项目,我们从套接字读取数据,并希望用即将到来的数据填充表,但是我们找不到将行添加到尚未创建的对象的方法,我们只能在创建表时找到如何添加行。JTable
是否可以将行动态添加到 中,或者有更好的替代对象来处理这种显示数据的方式?JTable
编辑:非常感谢您的回答。
他们三个人看起来都很有前途,但我只能选择一个,我认为最好的是纪尧姆的。
您应该创建自定义表模型
。A 实际上并不存储行,它始终将其委托给 .为了帮助您实现它,您应该使用 AbstractTableModel
。不要忘记在每次添加行时调用 fireTableRowsInserted()。
为了在添加大量行时获得更好的性能,请尝试批处理更新并一次添加许多行。JTable
TableModel
如果对 JTable 使用默认表模型,则可以使用以下代码添加行
if ( dest+1 < table.getRowCount()-1 )
( (DefaultTableModel) table.getModel() ).insertRow(dest+1, getValuesForNewRow());
else
( (DefaultTableModel) table.getModel() ).addRow(getValuesForNewRow());