You can override the isCellEditable method and implement it as you like, for example:
//instance table model DefaultTableModel tableModel = new DefaultTableModel() { @Override public boolean isCellEditable(int row, int column) { //all cells false return false; } }; table.setModel(tableModel);
or
//instance table model DefaultTableModel tableModel = new DefaultTableModel() { @Override public boolean isCellEditable(int row, int column) { //Only the third column return column == 3; } }; table.setModel(tableModel);
Note if your JTable disappears
If your JTable disappears when you use it, it is most likely because you should use the DefaultTableModel(Object[][] data, Object[] columnNames) constructor DefaultTableModel(Object[][] data, Object[] columnNames) instead.
//instance table model DefaultTableModel tableModel = new DefaultTableModel(data, columnNames) { @Override public boolean isCellEditable(int row, int column) { //all cells false return false; } }; table.setModel(tableModel);
nelson eldoro Jun 28 '10 at 16:01 2010-06-28 16:01
source share