在 JTable 中禁用用户编辑

2022-09-01 05:31:35

创建 JTable 组件时,缺省情况下会启用单元格编辑。如何防止用户编辑 JTable 的内容?


答案 1

您可以使用以下代码创建 JTable:

    JTable jTable = new JTable() {
        private static final long serialVersionUID = 1L;

        public boolean isCellEditable(int row, int column) {                
                return false;               
        };
    };

基本上,我们在这里所做的是覆盖并总是从中返回错误。这将使一个非编辑JTabel。isCellEditable


答案 2

JTable 使用 AbstractTableModel 对象。这是你传递到JTable的构造函数中的东西。您可以编写自己的 AbstractTableModel,如下所示

public class MyTableModel extends AbstractTableModel {

      public boolean isCellEditable(int row, int column){  
          return false;  
      }

}

然后将 JTable 初始化为

JTable myTable = new JTable(new MyTableModel());

推荐