Pour la JTable je ne vais pas franchement te faire de dessin, la JTable a un constructeur prenant un paramètre un TableModel.
Pour récupérer les évènements utilisateur tu vas utiliser un TableModelListener sur le model de ta JTable.
Donc dans l'ordre tu crées une classe Héritant de DefaultTableModel, et tu redéfinis la méthode getColumnClass pour renvoyer Boolean.class pour que ta JTable affiche des JCheckBox à la place de la valeur de ton Boolean(c'est pas franchement propre mais bon, vu que tu ne veux mettre que des checkboxes dans ta table, on va pas trop chipoter non plus), et les méthodes dont tu vas avoir besoin, mais pour l'instant je n'en vois aucune à redéfinir, elles font déja tout ce que tu demande.
Pense également à redéfinir les contructeurs de ton model en fontion des constructeurs du DefaultTableModel
ex:
1 2 3 4 5 6 7
|
public class MyModel extends DefaultTableModel {
public MyModel(Object[][] data, Objetc[] columnNames) {
super(data, columnNames);
}
} |
Normalement il y en a plus mais j'ai la flemme de la faire
Puis tu crées ton modèle, puis ta JTable (crées une classe étendant JTable et implémentant TabkleModelListener, il te faudra avec le modèle créé.
1 2 3 4 5 6 7 8
| public class MyTable Extends JTable implements TableModelListener {
....
//redéfinis la méthode valueChanged
protected void valueChanged(<a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelEvent.html" target="_blank">TableModelEvent</a> e){
doSomething()
}
} |
Tu ajoute un TableModelListener sur ton model
myModel.addTableModelListener(myTable);
Et puis tu as un peu de matière, bon code
Partager