use*_*479 16 java swing jtable
我想知道如何使JTable的一列可编辑,其他列必须是不可编辑的.
我已经覆盖了isCellEditable()但是这会将每个单元格更改为不可编辑.Thnx提前.
mKo*_*bel 32
您可以设置,如果是isEditable用于TableColumn或TableColumn and TableCell太
@Override
public boolean isCellEditable(int row, int col) {
switch (col) {
case 0:
case 1:
return true;
default:
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*icR 20
覆盖表模型
isCellEditable(int rowIndex, int columnIndex) 有两个参数,只为你想要的列返回true?
public boolean isCellEditable(int rowIndex, int columnIndex){
return columnIndex == 0; //Or whatever column index you want to be editable
}
Run Code Online (Sandbox Code Playgroud)
小智 11
这将为第3列和第8列设置editable true,为其他列设置false.
DefaultTableModel model = new DefaultTableModel() {
boolean[] canEdit = new boolean[]{
false, false, true, false, false,false,false, true
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
};
Run Code Online (Sandbox Code Playgroud)
SwingX项目的JXTable/TableColumnExt具有api来配置每个表和每列的可编辑性
// make the table completely read-only
xTable.setEditable(false);
// make a column read-only
xTable.getColumnExt(index).setEditable(false);
Run Code Online (Sandbox Code Playgroud)
请注意,与model.isCellEditable返回的可编辑性相比,只能缩小可编辑性.也就是说,您可以将可编辑单元格设为只读,但不能反过来