向JTable添加行

我们有一个简单的项目,我们从套接字读取数据,我们希望用即将到来的数据填充表,但我们找不到向已创建的JTable对象添加行的方法,我们只能找到如何添加行在表的创建时间。

是否可以动态地向JTable添加行,或者有更好的替代对象来处理这种显示数据的方式?

编辑 :非常感谢您的回答。

他们三个看起来很有前途,但我必须只选择一个,我认为最好的是Guillaume的。

您应该创建一个自定义TableModelJTable实际上并不存储行,它总是将它委托给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教程 。