Java-在GUI中向JTable添加新行

时间:2014-06-26 14:10:51

标签: java indexoutofboundsexception

我有一个简单的Java GUI,它显示一个空表和几个按钮。我现在正在尝试向其中一个按钮添加一个侦听器,该按钮将向GUI中的表添加一个新的空行(带有可编辑单元格)。

我正在使用以下代码尝试执行此操作:

JButton addBtn = new JButton("Add");
addBtn.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        System.out.println("'Add' button pressed. ");
        DefaultTableModel model = (DefaultTableModel)jEntityFilterTable.getModel();
        model.addRow(new Object[]{"Site", "Application", "Entity"});
        System.out.println("--- ActionListener added to 'addBtn' ---");
    }
});

然而,当我点击按钮时,我得到java.lang.ArrayIndexOutOfBoundsException。它说这发生在以下几行:

model.addRow(new Object[]{"Site", "Application", "Entity"});

我不知道为什么我得到这个异常...我已经创建了一个新的Object[]数组,并给它三个元素......但我不是试图访问这些元素(或者任何不存在的元素)......

有谁可以指出我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为这会起作用

DefaultTableModel model = (DefaultTableModel) jEntityFilterTable.getModel();

Vector row = new Vector();
row.add("Site");
row.add("Application");
row.add("Entity");
model.addRow(row);