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

时间:2014-07-16 14:51:35

标签: java swing jtable

我有一个以Netbeans形式开发的JTable。我希望程序以这样的方式工作:当我单击一个按钮时,新准备的记录将被添加到现有的记录中。我的问题是当我想添加新记录时,我点击按钮的那一刻,它取代了现有记录。任何人都可以帮助我将方法添加到现有方法吗?

2 个答案:

答案 0 :(得分:3)

使用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
        }
    });

答案 1 :(得分:2)

  

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

不要创建新的TableModel。

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