[JAVA] comment inserer des JCheckBox dans une JTable

comment inserer des JCheckBox dans une JTable [JAVA] - Java - Programmation

Marsh Posté le 17-04-2002 à 10:51:54    

salut a vous,
 
je suis entrain de faire une jtable, donc la pas de probleme.
j ai vu que si je mettais un booleen la jtable doit me l interprete comme checkbox. Mais ca ne marche pas. il me marque un booleen. Donc j ai cherche comment faire et j ai trouve les TableModel.... C bien mais pas top car il faut que le contenu du tableau puisse change. c est a dire il faut que je ouisse faire comme ca :
 
monModel model = new monModel();
JTable table = new JTable(model);
 
model.addColumn("sdfsd";
model.addRow(String[] s);
 
or avec ce que j ai trouve je ne peux pas le faire....snifff
 
HELP ME
merci d avnace
bruno ;-}

Reply

Marsh Posté le 17-04-2002 à 10:51:54   

Reply

Marsh Posté le 17-04-2002 à 10:53:14    

Bah bien sûr, qu'on peut faire changer le contenu du tableau avec des TableModel!!

Reply

Marsh Posté le 17-04-2002 à 10:56:16    

oui mais comment ajouter des lignes ds ce tableau ??

Reply

Marsh Posté le 17-04-2002 à 10:58:22    

avant je faisais  
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
 
 
la je peux ajouter des lignes et colonnes a volonte.....
MAIS je ne vois pas de checkbox

Reply

Marsh Posté le 17-04-2002 à 11:25:50    

C'est parce qu'il faut changer le renderer de ta table : Il faut que tu crées ta propre classe de TableModel, ou que tu redéfinises la méthode "getColumnClass" de ton DefaultModel, de manière à ce qu'elle renvoie java.lang.Boolean quand tu lui passes un numéro de colonne qui contient des booléens...Attention, par contre : ça t'interdit de mettre autre chose que des booléens dans ta colonne.
 
En fait, JTable sélectionne le Renderer de chaque cellule (l'objet qui dessine l'intérieur de la  cellule), en fontion de ça...On peut aussi écrire ses propres renderers, mais je me souviens plus comment j'avais fait..Maile moi à l'occasion si ça t'intéresse : j'essaierai de te retrouver le code.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed