首页 > 解决方案 > 如何禁用 JTable 编辑?

问题描述

我有一个JTable,我想禁用编辑它,它仍然可以突出显示它我有这个代码:

private void tableMouseClicked(java.awt.event.MouseEvent evt) {                                   
 boolean a = table.isEditing();
 if(a==false){
    JOptionPane.showMessageDialog(null,"Editing Disabled");
 }
}      

但是当我删除JOptionPane它仍然是可编辑的。

标签: javaswingjtable

解决方案


如果通过突出显示您的意思是突出显示表格行,那么您可以像这样覆盖该isCellEditable方法DefaultTableModel

JTable table = new JTable() {
    @Override
    public boolean isCellEditable(int row, int column) {
        return false;
    }
};

使用这种方法,您甚至可以通过检查方法的rowcolumn参数来禁用特定的单元格。


推荐阅读