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!
java jtable defaulttablemodel jframe removerow getmodel
Commentami!