如何在JTable中添加行?

114
你知道如何向 jTable 中添加新行吗?
5个回答

196

TableModel在JTable后面处理表格中所有的数据。为了向表格中添加和删除行,您需要使用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 只是众多模型之一。不过,它是最容易使用的,我建议除非你必须使用其他模型,否则坚持使用它。 - chessofnerd
2
在你的第一行代码创建表时,我遇到了一个错误:“构造函数DefaultTableModel(Object [])未定义”。 - ThisClark
6
针对那个 DefaultTableModel 构造函数,你还需要添加 rowCount 参数,例如:JTable table = new JTable(new DefaultTableModel(new Object[]{"列1", "列2"}, 20));其中20是行数。 - Gnaural

60

使用:

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"});

8

使用

    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);即可。


1

为了完整起见,首先确保您正确导入了相关内容,以便您可以使用 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});
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接