java - 单击按钮从 jtable 中删除选定的行

标签 java swing jtable actionevent

我想从 java 中的表中删除选定的行。 该事件应在按钮单击时执行。 如果有人帮助,我将非常感谢...

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

最佳答案

非常简单。

  • 在按钮上添加 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());
        }
    }
});

关于java - 单击按钮从 jtable 中删除选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23465295/

相关文章:

java - JList 换行问题

java - 无法将文件上传到启用 https 的 servlet

java - 带有单元格闪烁的 JTable

java - 如何在Java中创建Listview[Swing]?

java - JTable - 尝试将数据和列名传递给构造函数时出现 ArrayIndexOutOfBoundsException

java - 在 onpause 中释放可绘制的背景

java - 附加零以构成 10 位数字

java - 运行 swing.Jframe 类中声明的方法

java - 排序器更改行顺序后如何更新 JTableModel?

swing - JTable setCellRenderer 将文本字段格式化为最新?