2014-07-07 51 views
0

我在我的Java GUI中显示了一个表格,用户可以通过单击“添加”按钮来添加行。添加到表中的行中的单元格默认都是可编辑的,用户可以根据需要选择每一行/单元格。Java DefaultTableModel-如何删除选定的行?

我现在想要添加从表中删除一行的功能,但我似乎无法找到用DefaultTableModel数据类型执行此操作的正确方法。

我加入以下代码动作监听我的“删除行”按钮:

removeBtn.addActionListener(new ActionListener(){ 
    public void removeRow(){ 
     DefaultTableModel model = (DefaultTableModel)jEntityFilterTable.getModel(); 
     model.removeRow(); 
    } 
}); 

然而,removeRow()方法需要int类型的参数(行的索引号我要去掉)。我如何从DefaultTableModel获得'selected row'?似乎没有一种方法可以让您做到这一点......

回答

1

您可以从表中获取索引。

removeBtn.addActionListener(new ActionListener(){ 
    public void removeRow(){ 
    int selRow = jEntityFilterTable.getSelectedRow(); 
    if(selRow != -1) { 
     DefaultTableModel model = (DefaultTableModel)jEntityFilterTable.getModel(); 
     model.removeRow(selRow); 
    } 
} 

});