java - 如何使 JTable 不可编辑

标签 java swing jtable

如何使 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/

相关文章:

Java:JComboBox 不接受 enum.values()

java - 当我选择第一行时,为什么我的 JTable 重绘会发生堆栈溢出?

java - 将 JComboBox 设置为表列不起作用

java - J表。打印选中行的值,如果选中行为空则提示错误

java - 如何将请求从servlet 转发到struts2 的action?

java - grpc-java的bindableService问题

java - 如果我在 Java 中使用模式和匹配器,如何找到匹配数?

java - JFrame 大小应减少桌面的最大可用大小

java - 将java表导出到excel时出现问题

java - 解锁 HPUX LDAP Directory Server 中的用户对象