Java JTable-不允许选择和聚焦某些单元格,同时允许选择或聚焦其他单元格
我正在寻找一种方法来禁止选择或聚焦JTable中的某些单元格(既不是完整的列也不是完整的行) 例如:我有一个非常小的表,有两行两列,我只希望单元格(0,0)和(1,1)可以选择和聚焦,而单元格(1,0)和(0,1)不能选择或聚焦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禁用编
有人知道如何实现这种行为吗?到目前为止,我只找到了实现自定义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
}
};