0

I have a created table (I am using NetBeans IDE). I put some data into this table when table is loading . I want to add a check box to the first column of the row with loading . Also I placed this table on a JPanel and I use formComponentShown(java.awt.event.ComponentEvent evt) method to load table with data.

trashgod
  • 203,806
  • 29
  • 246
  • 1,045
Terance Wijesuriya
  • 1,928
  • 9
  • 31
  • 61

1 Answers1

3

JTable uses TableModel to retrieve column class and data.

DefaultTableModel, which is often used, returns 'Object.class' for all columns. If you use DefaultTableModel, just override getColumnClass method, and return right class for your columns. The default renderer will display a check box for values of type Boolean.class, for example.

public class MyDefaultTableModel extends DefaultTableModel {
    private Class[] columnClasses;
    public Class[] getColumnClasses() {
        return columnClasses;
    }
    public void setColumnClasses(Class[] columnClasses) {
        this.columnClasses = columnClasses;
    }
    @Override
    public Class getColumnClass(int columnIndex) {
        return columnClasses[columnIndex];
    }
}
Community
  • 1
  • 1
Eldar Budagov
  • 312
  • 2
  • 11