如何使 JTable
不可编辑?我不希望我的用户能够通过双击单元格中的值来编辑它们。
最佳答案
您可以覆盖方法 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 消失请注意
如果您的 JTable
在您使用它时消失了,很可能是因为您需要使用 DefaultTableModel(Object[][] data, Object[] columnNames)
而是构造函数。
//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);
关于java - 如何使 JTable 不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990817/