如何使 JTable 不可编辑

2022-08-31 09:57:47

如何使不可编辑?我不希望我的用户能够通过双击单元格中的值来编辑它们。JTable


答案 1

您可以重写 isCellEditable 方法并根据需要实现,例如:

//instance table model
DefaultTableModel tableModel = new DefaultTableModel() {

    @Override
    public boolean isCellEditable(int row, int column) {
       //all cells false
       return false;
    }
};

table.setModel(tableModel);

//instance table model
DefaultTableModel tableModel = new DefaultTableModel() {

   @Override
   public boolean isCellEditable(int row, int column) {
       //Only the third column
       return column == 3;
   }
};

table.setModel(tableModel);

注意您的 JTable 是否消失

如果在使用它时您的消失,则很可能是因为您需要使用 DefaultTableModel(Object[][] 数据,Object[] columnNames) 构造函数。JTable

//instance table model
DefaultTableModel tableModel = new DefaultTableModel(data, columnNames) {

    @Override
    public boolean isCellEditable(int row, int column) {
       //all cells false
       return false;
    }
};

table.setModel(tableModel);

答案 2
table.setDefaultEditor(Object.class, null);

推荐