繁体   English   中英

如何向JTable中的现有行添加新行

[英]How to add new rows to existing rows in JTable

我有一个以Netbeans形式开发的JTable 我希望程序以这样一种方式工作,即当我单击按钮时,新的准备好的记录将被添加到现有记录中。 我的问题是,当我想添加新记录时,单击该按钮时,它将替换现有记录。 谁能帮我提供将新记录添加到现有记录的方法?

使用DefaultTableModel并对其简单调用DefaultTableModel#addRow()方法以添加新行。

  • 这里的表有4个现有行
  • 单击按钮后添加新行

样例代码:

    Object data[][] = { { "111 Hello", "Capital1", "TX 11111" },
                        { "222 Hello", "Capital2", "TX 22222" },
                        { "333 Hello", "Capital3", "TX 33333" },
                        { "444 Hello", "Capital4", "TX 44444" } 
                      };
    String col[] = { "Name", "Capital", "TX" };

    final DefaultTableModel model = new DefaultTableModel(data, col);
    final JTable table = new JTable(model);

    ....

    final JButton addButton = new JButton("Add");
    addButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            Object[] newRecord = { "555 Hello", "Capital5", "TX 55555" };
            model.addRow(newRecord); // <== Adding new row here
        }
    });

我的问题是,当我想添加新记录时,单击按钮时,它将替换现有记录。

不要创建新的TableModel。

相反,您应该使用DefaultTableModel.addRow(...)方法将新行添加到表末尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM