Home / Programmazione / Java / Svuotare JTable
Mattepuffo

Svuotare JTable

Svuotare JTable

JTable è un componente di Java Swing molto usato.

Anche se può sembrare strano, svuotare una JTable non richiede un singolo comando; o almeno quello che vi propongo è l'unic che mi ha funzionato.

Sarà, forse, dovuto al fatto che io uso un DefaultTableModel personalizzato (che vi posto per semplice chiarimento):

public class MyTableModel extends DefaultTableModel {

    public MyTableModel(Object[][] data, String[] col) {
        super(data, col);
    }

    @Override
    public boolean isCellEditable(int row, int column) {
        return false;
    }
}

Comunque vi propongo un metodo che permette di svuotare una JTable.

Volendo si potrebbe pensare di implementarlo nella stessa classe del table model invece che messo nel JFrame:

    private void clearTable(JTable t) {
        MyTableModel m = (MyTableModel) t.getModel();
        for (int i = 0; i < m.getRowCount(); i++) {
            m.removeRow(i);
        }
    }

In pratica prendiamo un riferimento al model con il metodo getModel.

Dopo di che iteriamo sulle righe e le eliminiamo una per una con il metodo removeRow.

Quindi, nel complesso semplice, ma sarà che sbaglio io, sarà il DefaultTableModel, o sarà quello che volete, un classico metodo clear che fa da solo non sarebbe male!

Ciao!