OVH Cloud OVH Cloud

JComboBox and une J(XTree)Table

4 réponses
Avatar
une.bevueVOTEZ
Bonjour,

j'essaie de mettre une JComboBox comme renderer dans une JXTreeTable
(même chose que JTable) bon, j'obtiens bien ma combo mais, pas moyen
d'avoir le popup ???

j'ai même ajouté un mouse listener au cas où mai rien n'y fait...

--
une bévue

4 réponses

Avatar
Vincent Cantin
j'essaie de mettre une JComboBox comme renderer dans une JXTreeTable
Le nom complet c'est quoi (avec le package)


(même chose que JTable) bon, j'obtiens bien ma combo mais, pas moyen
d'avoir le popup ???

j'ai même ajouté un mouse listener au cas où mai rien n'y fait...


Je pense que tu as oublie qu'il y a 2 composants :
- 1 pour afficher le composant.
- 1 pour EDITER le composant, c'est suremement celui-la que tu as oublie.
- 1 pour les gouverner tous (euh .. a non, je me trompe de newgroup, la
:-) )

Vincent Cantin

Avatar
Vincent Cantin
Je pense que je n'ai pas ete tres clair dans mon dernier post, alors je
recommence :

Pour ton JTable, tu dois specifier un javax.swing.table.CellRenderer (ce que
tu as du faire deja), mais aussi un javax.swing.table.CellEditor qui est
appele des que la cellule de la table est un mode edition ... i.e. quand
l'utilisateur demande de derouler la combo box, probablement.

Je n'ai pas essaye personnellement, mais c'est comme ca que j'ai fais pour
mon cas ou j'avais un JTree avec plein de composants byzarres a l'interieur.

Je te recommande d'aller voir la doc de Java sur leur site web sur comment
implementer le CellEditor.

Et que la force soit avec toi, petit scarabe ! :-)

Vincent
Avatar
une.bevueVOTEZ
Vincent Cantin wrote:

Je te recommande d'aller voir la doc de Java sur leur site web sur comment
implementer le CellEditor.


oui, oui, merci, j'y suis allé, la difficulté pour moi est que je
souhaite avoir une cell qui présente une liste d'items sous forme de
combobox.

ce n'est pas possible avec seulement un renderer (ma table est
read-only) donc j'ai appris qu'il me faut un editor MAIS comme le
contenu de ma combobox change en fonction de la row je dois surcharger
la méthode getCellEditor(int row, int column) dans la JTable.

et aussi dans le cas où la cell est vide (value à null) je veux laisser
une case blanche en JLabel...

bon, moi, ce que j'utilise c'est une JXTreeTable :
org.jdesktop.swingx.JXTreeTable

comme dans la JTreeTable il y a une JTable dedans, c'est là où je m@&de,
je n'ai pas encore trouvé le moyen de surchargé la dite méthode
getCellEditor(int row, int column).

mais bon, tout cela commence à s'éclaircir...

je doid sans doute me faire une classe genre MyJXTreeTable extends
JXTreeTable {
getCellEditor(int row, int column) { bidouiller ce qu'il faut}
}

qqc dans ce goût là ))
--
une bévue

Avatar
une.bevueVOTEZ
Vincent Cantin wrote:

Et que la force soit avec toi, petit scarabe ! :-)


Merci pour cet encouragement )))

Après deux tasses de café, ce matin à l'aube, j'ai trouvé.

j'ai une pseudo combo comme renderer et une vraie comme editor...
--
une bévue