salut,
donc tu utilise une DefaultTableModel, auquel tu passe surement une liste de personnes, et s'est ton DefaultTableModel qui gère l'affichage...
moi ce que je ferais c'est d'abord mettre un écouteur sur la liste, c'est à dire dans ta classe MyDefaultTableModel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
public class MyDefaultTableModel extends DefaultTableModel {
private List listModel;
public MyDefaultTableModel(List listModel) {
this.listModel = listModel;
listModel.addDataListener(new BridgeListener());
...
}
//..tes méthodes getValue... getClass....
//ensuite toujourrs dans ta classe tu fais une classe BridgeListener
public class BridgeListener implements ListDataListener {
public void intervalAdded(ListDataEvent e) {
final ListDataEvent event = e;
eventQueue.invokeLater(new Runnable() {
public void run() {
// Rafraichit la vue
fireTableRowsInserted(event.getIndex0(),event.getIndex1());
}
});
}
public void intervalRemoved(ListDataEvent e) {
final ListDataEvent event = e;
eventQueue.invokeLater(new Runnable() {
public void run() {
// Rafraichit la vue
fireTableRowsDeleted(event.getIndex0(),event.getIndex1());
}
});
}
public void contentsChanged(ListDataEvent e) {
final ListDataEvent event = e;
eventQueue.invokeLater(new Runnable() {
public void run() {
// Rafraichit la vue
fireTableStructureChanged();
}
});
}
} // Fin de la classe BridgeListener
} |
donc avec cette classe BridgeListener, si tu supprime un élément de ta liste permettant l'affichage de ta table, ta table sera mise à jour automatiquement.
Maintenant comment récupérer tes ligne sélectionné
moi j'utiliserais :
int[] index = table.getSelectedRows();
par contre se sera les lignes sélectionnées normalement on ne prend pas en compte ton chekBox... donc la je ne sais pas comment faire, j'ai une solution mias je ne suis pas sur que ce soit tres propres... genre tu crées une table qui extends JTable et tu surcharges la méthode getSelectedRows() pour qu'il te renvoie la ligne sélectionnée grace au chekbox...
Partager