如何在 JTable 中添加行?

Posted

技术标签:

【中文标题】如何在 JTable 中添加行?【英文标题】:How to add row in JTable? 【发布时间】:2011-04-02 17:29:18 【问题描述】:

您知道如何向jTable 添加新行吗?

【问题讨论】:

【参考方案1】:

JTable 后面的TableModel 处理表后面的所有数据。为了在表中添加和删除行,您需要使用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");

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

可以在here找到有关 DefaultTableModel 的完整详细信息

【讨论】:

+1 这是一个很好的答案;但是,请注意 DefaultTableModel 只是众多模型之一。但是,它是最容易使用的,除非您必须使用另一个,否则我建议您坚持使用它。 在使用您的第一行代码创建表时,出现错误“构造函数 DefaultTableModel(Object[]) 未定义” @ThisClark: 对于那个 DefaultTableModel 构造函数,你还需要添加 rowCount,比如:JTable table = new JTable(new DefaultTableModel(new Object[]"Column1", "Column2", 20));【参考方案2】:

用途:

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

【讨论】:

【参考方案3】:

要将添加到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");

【讨论】:

【参考方案4】:

使用

    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 为comumns

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

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于如何在 JTable 中添加行?的主要内容,如果未能解决你的问题,请参考以下文章

如何限制在JTable中添加的行?

如何通过SQL将一列JCheckBox添加到JTable? [重复]

如何仅使用列标题创建JTable,不添加任何行

如何将选择列添加到显示搜索结果的 JTable

如何将两种类型的值添加到JTable行?

如何在我的jtable中获得超过100行?