向JTable添加行

Sai*_*ine 14 java swing

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

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

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

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

Gui*_*ume 12

您应该创建一个自定义TableModel.A JTable实际上并不存储行,它总是将其委托给a TableModel.为了帮助您实现它,您应该使用AbstractTableModel.fireTableRowsInserted()每次添加行时都不要忘记调用.为了在添加大量行时获得更好的性能,请尝试批量更新并一次添加多行.


Pet*_*ter 11

如果对JTable使用默认表模型,则可以添加包含以下代码的行

 if ( dest+1 < table.getRowCount()-1 )
    ( (DefaultTableModel) table.getModel() ).insertRow(dest+1, getValuesForNewRow());
  else
    ( (DefaultTableModel) table.getModel() ).addRow(getValuesForNewRow());
Run Code Online (Sandbox Code Playgroud)

  • 在将DefaultTableModel传递给JTable构造函数之前,最好先保留它.然后你不需要触摸JTable或做任何演员. (7认同)

Pau*_*lin 6

一旦开始动态添加和删除JTable中的元素,您真的需要开始使用TableModel.

有关更多详细信息,请参阅Java教程.