jTable con jCheckBox

Qualche volta capita di perdere tempo con cose stupide ma time consuming.

A me è capitato oggi. Avevo bisogno di inserire una jCheckBox in una colonna di una jTable. La via consigliata dalla documentazione consisteva nel fare l’override del metodo getColumnClass all’interno del TableModel dando come valore restituito di default Object.class e specificando il valore voluto per la colonna in questione: Boolean.class.

@Override
public Class getColumnClass(int c) {
switch (c) {
case 4: return Boolean.class;
default: return Object.class;
}
}

Questa soluzione non era adatta a me dato che la presenza di alcune colonne jComBox all’interno della stessa tabella.

Alla fine ho risolto così:

TableColumn typeColumnObj = tableView.getColumnModel().getColumn(COLONNA_DESIDERATA);
typeColumnObj.setCellEditor(tableView.getDefaultEditor(Boolean.class));
typeColumnObj.setCellRenderer(tableView.getDefaultRenderer(Boolean.class));

Spero questi appunti siano utili e nessuno perda tempo come l’ho perso io.

2 commenti

  • Esolitos scrive:

    Da tenere in considerazione visto che ultimamente sto usando alcune jTable!

    Ciao.

    PS: se usi il tag per il codice fai un piacere a chi legge.. 😉

  • Hai ragione, ho cominciato ad usarlo ma devo sistemare i vecchi post. 🙂

Lascia un commento

La tua email non sarà mai resa pubblica.I campi obbligatori sono segnalati con un *