Java JTable-不允许选择和聚焦某些单元格,同时允许选择或聚焦其他单元格

Java JTable-不允许选择和聚焦某些单元格,同时允许选择或聚焦其他单元格,java,swing,jtable,focus,selection,Java,Swing,Jtable,Focus,Selection,我正在寻找一种方法来禁止选择或聚焦JTable中的某些单元格(既不是完整的列也不是完整的行) 例如:我有一个非常小的表,有两行两列,我只希望单元格(0,0)和(1,1)可以选择和聚焦,而单元格(1,0)和(0,1)不能选择或聚焦 有人知道如何实现这种行为吗?到目前为止,我只找到了实现自定义ListSelectionModel的方法。但它只适用于列或行(两种不同的模型)。尝试使用自定义约束覆盖JTable的changeSelection方法,并且可能还需要通过覆盖isCellEditable禁用编

我正在寻找一种方法来禁止选择或聚焦JTable中的某些单元格(既不是完整的列也不是完整的行)

例如:我有一个非常小的表,有两行两列,我只希望单元格(0,0)和(1,1)可以选择和聚焦,而单元格(1,0)和(0,1)不能选择或聚焦


有人知道如何实现这种行为吗?到目前为止,我只找到了实现自定义ListSelectionModel的方法。但它只适用于列或行(两种不同的模型)。

尝试使用自定义约束覆盖
JTable
changeSelection
方法,并且可能还需要通过覆盖
isCellEditable
禁用编辑。例如:

final JTable table = new JTable( data, columnNames ) {
    @Override
    public void changeSelection( int row, int col, boolean toggle, boolean expand ) {
        if( ( row + col )%2 == 0) { // here you set your own rules
            super.changeSelection( row, col, toggle, expand );
        }
    }

    @Override
    public boolean isCellEditable( int row, int col ) {
        return false; // disabling editing separately
    }
};