Adding rows to a JTable

后端 未结 3 1486
悲&欢浪女
悲&欢浪女 2020-12-03 01:46

We have a simple project where we read data from a socket and we want to populate a table with the coming data, but we can\'t find a way to add rows to a yet created J

相关标签:
3条回答
  • 2020-12-03 02:33

    Once you start dynamically adding and removing elements from a JTable, you really need to start using a TableModel.

    See the Java Tutorial for more details.

    0 讨论(0)
  • 2020-12-03 02:38

    You should create a custom TableModel. A JTable doesn't actually store the rows, it always delegates that to a TableModel. To help you implementing it, you should make use of AbstractTableModel. Don't forget to call fireTableRowsInserted() every time you add rows. For better performances if you add a lot of rows, try to batch the updates and add many rows at a time.

    0 讨论(0)
  • 2020-12-03 02:39

    If you use the default table model for a JTable then you can add rows with following code

     if ( dest+1 < table.getRowCount()-1 )
        ( (DefaultTableModel) table.getModel() ).insertRow(dest+1, getValuesForNewRow());
      else
        ( (DefaultTableModel) table.getModel() ).addRow(getValuesForNewRow());
    
    0 讨论(0)
提交回复
热议问题