comment effacer JTable

Comment puis-je effacer le contenu de la JTable en utilisant Java?

Vous devez supprimer les données du TableModel utilisé pour la table.

Si vous utilisez le DefaultTableModel , définissez simplement le nombre de lignes sur zéro. Cela supprimera les lignes et TableModelEvent l’ TableModelEvent pour mettre à jour l’interface graphique.

  Table JTable;
 …
 DefaultTableModel model = (DefaultTableModel) table.getModel ();
 model.setRowCount (0); 

Si vous utilisez un autre TableModel , consultez la documentation.

Fondamentalement, cela dépend du modèle de table que vous utilisez pour votre JTable. Si vous utilisez le DefaultTableModel vous pouvez le faire de deux manières:

 DefaultTableModel dm = (DefaultTableModel)table.getModel(); dm.getDataVector().removeAllElements(); dm.fireTableDataChanged(); // notifies the JTable that the model has changed 

ou

 DefaultTableModel dm = (DefaultTableModel)table.getModel(); while(dm.getRowCount() > 0) { dm.removeRow(0); } 

Voir le JavaDoc de DefaultTableModel pour plus de détails

Je devais avoir une table propre sans colonnes. J’ai suivi:

 jMyTable.setModel(new DefaultTableModel()); 

Cela dépend du modèle que vous utilisez pour votre JTable.

Je pense que vous vouliez dire que vous voulez effacer toutes les cellules du jTable et le rendre comme une nouvelle jTable vierge. Par exemple, si votre table est myTable, vous pouvez le faire après.

 DefaultTableModel model = new DefaultTableModel(); myTable.setModel(model); 

Si nous utilisons tMOdel.setRowCount(0); nous pouvons obtenir une table vide.

 DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel(); tMOdel.setRowCount(0); 

C’est le moyen le plus rapide et le plus simple que j’ai trouvé;

 while (tableModel.getRowCount()>0) { tableModel.removeRow(0); } 

Cela efface le fractionnement de la table et le laisse prêt pour de nouvelles données.

 ((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row 

Essaye ça: