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

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

【问题讨论】:

    标签: java swing 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});
          }
          

          【讨论】:

            猜你喜欢
            • 2023-03-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-12-01
            • 1970-01-01
            • 2013-06-02
            • 1970-01-01
            • 2023-03-30
            相关资源
            最近更新 更多