【问题标题】:How to make delete button to delete rows in JTable?如何制作删除按钮以删除 JTable 中的行?
【发布时间】:2012-11-05 16:27:15
【问题描述】:

我尝试进行击键删除,但是当我选择单元格并按下删除按钮时,它会输入所选单元格而不是删除整行。选择单元格时如何禁用删除按钮不执行任何操作?


不。我的 GUI 上有删除按钮,但我想为这个按钮设置键盘快捷键。我想在我的键盘上制作删除按钮来调用删除方法。但是当我在选择单元格时按下它时,它会进入单元格而不是删除整行

【问题讨论】:

  • 在 ActionListener 中检查单元格是否被选中以及是否只是退出函数。
  • 在发布问题之前,请确保您有thoroughly searched 的答案,并且您的问题与论坛上已经发布的问题不同。在右侧窗格的 Related 链接下有许多与您的问题相关的问题。无论如何,This 链接似乎与您的查询更相关。

标签: java swing jtable jbutton listselectionlistener


【解决方案1】:

许多JTable 单元类型的DefaultCellEditor 委托给JTextField,它将Delete 键绑定到delete-next 操作。要抢占默认行为,您必须从DefaultCellEditor 中删除现有绑定,如How to Use Key Bindings: How to Make and Remove Key Bindings 所示。您可以将其替换为您自己的绑定,如example 所示;一个典型的DefaultCellEditor 显示为here

【讨论】:

    【解决方案2】:
    Try This:
    
     MyTableModel mymodel=(MyTableModel)table.getModel();
                    int rowcount= mymodel.getRowCount();
                    for(int i = 0;i<rowcount;i++){
                        mymodel.removeRow(0);
                    }
    

    【讨论】:

      【解决方案3】:

      要禁用自动编辑模式,试试这个:

      table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 2013-08-20
        • 2013-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多