Jtable celleditor complexe

lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 17 juil. 2007 à 10:17
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 16 mai 2008 à 20:04
Bonjour a tous,

Voici mon problème :
J'ai besoin dans une colonne de ma jtable de mettre à chaque ligne une jcombobox différentes (items différents)
Pour cela j'utilise la classe située sur cette page :

http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples2.html
plus précisément ici : http://www.crionics.com/products/opensource/faq/swing_ex/src/table/EachRowEditor.java

Le problème, c'est que avec cette classe (EachRowEditor.java) dès que je fixe une jcombobox sur une ligne, ça me remet des cellules normales au lignes juste avant. ce qui fait qu'a la fin de me boucle, seule la dernière ligne a un jcombobox en celleditor.

Savez vous d'ou peut venir le problème ?
Connaissez vous une classe qui me permettrais de changer le celleditor d'une cellule précise sans changer celle des autres cellules de la même colonne ?

Merci d'avance.

PS : voici le code pour que j'utilise pour ajouter une jcombobox a une cellule et qui utilise la classe EachRowEditor.java

-------------------------------------------------------------------------------

                JComboBox comboList = new JComboBox();
                comboList.addItem("1");
                comboList.addItem("2");
                comboList.addItem("3");
                ...
                EachRowEditor rowEditor = new EachRowEditor(myTable);
                rowEditor.setEditorAt(ligne, new DefaultCellEditor(comboList));
                myTable.getColumn(5).setCellEditor(rowEditor);

28 réponses

lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
19 juil. 2007 à 09:09
Ouf c'est pas aussi simple que ce que [auteurdetail.aspx?ID=190746 GodConan] avait sous entendu...

Quand tu dis que je dois redefinir getCellEditor et getCellRenderer pour lui appliquer l'editor et le renderer que je veux.

Ca veux dire que les 2 getCellEditor et getCellRenderer  sont plutot des setCellEditor et setCellRenderer non ?
Normalement get c'est pour obtenir une information set c'est pour l'appliquer.
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
19 juil. 2007 à 09:24
Bon finalement j'ais simplement résolu mon erreure de départ :

A chaque fois que j'ajoutais un editor a une cellule spécifique, je faisais :
EachRowEditor rowEditor = new EachRowEditor(myTable);
Ce qui avais pour effet d'effacer mon editor juste avant.

Je suis désolé que ce sujet ais été dévié, mais je ne suis pas encore assez bon en java pour faire des classes qui étendent des tablecelleditor ou des jtable. je me sert d'exemple tout fait et en l'occurence, il n'y en a pas sur le sujet. (enfin si un celui que j'utilise)

Je sais pas pour vous, mais je ne suit pas des cours de java et c'est assez long et d'apprendre seul. donc on verra plus tard pour faire des classes implementant ou extendant d'autres classes.

Merci a tous de votre aide.
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
19 juil. 2007 à 09:43
j ai appris seul ;o) je pense que c est la meilleur  ;o) facon d apprendre ;o) m enfin faut se donner un peu de peine ;o) ... et la meilleur facon c est de lire le code java je pense ;o).... allier a quelque live pour débuter et c est parti....
rien de tel que d etendre des class deja existante tu peu jouer à surcharger les methodes .... ;o)

GodConan ;o)
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
19 juil. 2007 à 10:30
Oui enfin pour ça je devrai avoir le tps d'apprendre ce qui n'est pas le cas....
j'ais pas le temps de me prendre un bouquin ou des tutos. Je suis en train de faire un log et dès que je bloque je vais voir sur le net pour trouver ma soluce. si elle y est pas je pose ma question !

aller à + pour une autre question p-ê !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_biboobib Messages postés 95 Date d'inscription dimanche 29 juillet 2007 Statut Membre Dernière intervention 27 août 2011 1
16 mai 2008 à 16:58
Salut DARKSIDIOUS, j'ai utliser ta méthode
addEditorRorRow( int row,TableCellEditor e) , mais ca pas marcher!! je sai pas pourquoi , ma JTable comporte 2 column , le premier est un row Header juste les titres des lignes!! et la deuxiem column c'est pour  data..

 TableCellEditor editeur = new DefaultCellEditor(maillot);// maillot est JComboBox
    CCustomRowEditor cc=new CCustomRowEditor();
    cc.addEditorForRow(2,editeur);

ca donne rien , l'editeur est rester JTextField par default!! il ya un problem ??
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2008 à 18:27
Salut,

C'est quoi CCustomRowEditor ?

Va voir ma source de propertyTable pour un exemple concret de JTable avec des editor perso.
______________________________________
DarK Sidious
0
cs_biboobib Messages postés 95 Date d'inscription dimanche 29 juillet 2007 Statut Membre Dernière intervention 27 août 2011 1
16 mai 2008 à 19:54
CCustomRowEditor est la class qui défini la méthode
 addEditorRorRow( int row,TableCellEditor e)..!!

problém résolu j'ai trouver un exemple pas trop compliqué!!
voilà le lien pour ceux qui sont interessé!
http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples2.html
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2008 à 20:04
Salut,

Je vois pas en quoi c'est moins compliqué que mon property table : tu définit tes propres renderer/editor, et tu les applique au JTable...
______________________________________
DarK Sidious
0
Rejoignez-nous