Here are two ways to achieve this:
TableModel, , DbUtils, isCellEditable(), false, . , DbUtils , .
JTable isCellEditable() false ( isCellEditable()). , Swing , .
# 1
:
class MyModel implements TableModel {
private final TableModel m;
public MyModel(TableModel m) {
this.m = m;
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
@Override
public int getRowCount() {
return m.getRowCount();
}
@Override
public int getColumnCount() {
return m.getColumnCount();
}
}
:
jTable1.setModel(new MyModel(DbUtils.resultSetToTableModel(rs)));
# 2
JTable :
JTable jtable1 = new JTable() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
:
// You can set any model, the table will not be editable because we overrode
// JTable.isCellEditable() to return false therefore the model will not be asked
// if editable.
jTable1.setModel(DbUtils.resultSetToTableModel(rs));