我为我的JTable使用以下单元格模型:

this.setModel(new DefaultTableModel
    (
    new Object [][] {
    {"Item ID", ""},
    {"Radius", 0},
    {"Center", 0,0},
    {"Mass", 0}
    },
    new String []
    {
        "Property", "Value"
    }
    )
{
    Class[] types = new Class []
    {
        String.class, Object.class
    };
    boolean[] canEdit = new boolean []
    {
        false, true
    };

    @Override
    public Class getColumnClass(int columnIndex)
    {
        return types [columnIndex];
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex)
    {
        return canEdit [columnIndex];
    }
});


但这会将整个行和列设置为可编辑/不可编辑。如何设置单个单元格说(1,1)为不可编辑?

最佳答案

如何设置单个单元格说(1,1)为不可编辑?


通过简单地使用传递的行和列索引

@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
  return !( rowIndex == 1 && columnIndex == 1 );
}

关于java - 如何使JTable的单个单元格不可编辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18795791/

10-09 07:43