如何在JTable中添加行?


Answers:


171

TableModelJTable 的后面处理表后面的所有数据。为了在表格中添加和删除行,您需要使用DefaultTableModel

要使用此模型创建表:

JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));

要添加一行:

DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});

您也可以使用此方法删除行。

可在此处找到有关DefaultTableModel的完整详细信息


2
+1这是一个很好的答案;但是,请注意,DefaultTableModel只是许多模型之一。但是,它是最容易使用的,除非您必须使用另一个,否则我建议您坚持使用它。
象棋棋局2014年

2
使用第一行代码创建表时,出现错误“构造函数DefaultTableModel(Object [])未定义”
ThisClark 2015年

4
@ThisClark:对于该DefaultTableModel构造函数,还需要添加rowCount,例如:JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}, 20));
Plenus Franckly

57

用:

DefaultTableModel model = new DefaultTableModel(); 
JTable table = new JTable(model); 

// Create a couple of columns 
model.addColumn("Col1"); 
model.addColumn("Col2"); 

// Append a row 
model.addRow(new Object[]{"v1", "v2"});

12

要添加一行JTable,方式之一是:

1)使用DefaultTableModel创建表:

        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("Code");
        model.addColumn("Name");
        model.addColumn("Quantity");
        model.addColumn("Unit Price");
        model.addColumn("Price");
        JTable table = new JTable(model);

2)要添加行:

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});

9

    DefaultTableModel model = (DefaultTableModel) MyJTable.getModel();

    Vector row = new Vector();
    row.add("Enter data to column 1");
    row.add("Enter data to column 2");
    row.add("Enter data to column 3");
    model.addRow(row);

得到模型 DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

使用创建向量 Vector vectorName = new Vector();

加上许多row.add公社

尽快添加,只需添加 modelName.addRow(Vector name);


2

为了完整起见,首先请确保您具有正确的导入,以便可以使用以下addRow功能:

import javax.swing.table.*;

假设已经创建了jTable,则可以继续创建自己的添加行方法,该方法将接受所需的参数:

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.