Bonjour,
J'ai deux objets Choice et voici mon souci :
J'ai mon objet A choice qui contient une liste et mon objet B choice également.
Si je choisis un objet de la liste A, alors les propriétés correspondantes s'affichent.
Si je choisis un objet de la liste B, alors les propriétés s'affichent et remplacent les anciennes.
Si je retourne dans mon objet A, que je choisis le même objet que j'ai choisi la première fois, l'événement n'est plus détecté, et par conséquent, rien ne se passe...
Donc :
Si A contient a
Si B contient c et d.
Je clique sur A, je choisis a, les propriétés de a s'affichent.
Je clique sur B, je choisis c ou d, ses propriétés s'affichent.
Je clique sur A, je choisis a, comme il était le dernier sélectionné, RIEN ne se passe...
Admettons que les propriétés de c disparaissent, si je veux les afficher de nouveau, je dois passer par d (d s'affiche), puis remettre c, (c s'affiche).
Le pire, c'est que je suis obligé de conserver le champs sélectionné dans B, car les champs de a peuvent requérir les informations de la sélection de B...
A mon avis il faut surcharger les listener, mais j'ai un petit niveau en Java alors j'aimerais savoir si c'est bien ce qu'il faut faire ?
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 //ListeD pour listeDéroulante public boolean action(Event event, Object object) { if (event.target.equals(listeDModels)) { //Si on touche a la liste A String selection = listeDModels.getSelectedItem(); // on récupère le champs de A afficherListe(selection, mesModels); // on affiche les infos du champ dans un JTable laListeEstSelect = false; //Booleen pour informer la dernière liste D manipulée return(true); } if (event.target.equals(listeDListes)) { String selection = listeDListes.getSelectedItem(); //pareil pour l'autre afficherListe(selection, mesListes); System.out.println("a"); laListeEstSelect = true; return(true); } else return(false); }
Partager