在按钮单击时从jtable中删除选定的行

时间:2014-05-05 05:19:09

标签: java swing jtable actionevent

我想从java中的表中删除Selected行。 应该在按钮点击时执行该事件。 如果有人帮忙我会感激不尽的......

例如,有一个名为sub_table的表有3列,即sub_id,sub_name,class。 当我从该表中选择其中一行并单击删除按钮时,应删除该特定行..

1 个答案:

答案 0 :(得分:8)

这很简单。

  • 在按钮上添加ActionListener
  • 从附加到表格的模型中删除选定的行。

示例代码:(表格有2列)

Object[][] data = { { "1", "Book1" }, { "2", "Book2" }, { "3", "Book3" }, 
                    { "4", "Book4" } };

String[] columnNames = { "ID", "Name" };
final DefaultTableModel model = new DefaultTableModel(data, columnNames);

final JTable table = new JTable(model);
table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);


JButton button = new JButton("delete");
button.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent arg0) {
        // check for selected row first
        if (table.getSelectedRow() != -1) {
            // remove selected row from the model
            model.removeRow(table.getSelectedRow());
        }
    }
});