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