IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Listener, 2 choice


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 49
    Par défaut Listener, 2 choice
    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 ?

    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);
          }
    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Bonjour,

    Je n'arrive pas à comprendre exactement qu'est ce que tu cherches à faire et quel est ton problème ?

  3. #3
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Si j'ai bien compris c'est un souci de ComboBox, en gros quand tu as choisi une valeur et que tu vas ailleurs et que tu reviens, il faut aller sur une autre valeur puis revenir sur l'initiale, pour avoir la mise à jour de l'affichage.

    C'est pour cela que la plupart des ComboBox commencent par "choisissez votre département" ou "inconnu" ou "choix" voir un blanc, pour éviter de devoir aller sur le deuxième choix pour revenir sur le premier.

    Si je ne me suis pas trompé dans la compréhension, je n'ai jamais rencontré cette problématique mais tu utilises quel listener, ItemListener ? Si c'est le cas peut être qu'avec ActionListener il détecterait bien le clic, même si l'item est déjà choisi.

    Désolé si je suis à côté.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

Discussions similaires

  1. [JSlider] listener sur Jslider
    Par Garion dans le forum Composants
    Réponses: 4
    Dernier message: 31/05/2004, 13h33
  2. [JSP]comment créer un listener pour ma base de données
    Par Ekimasu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/05/2004, 14h49
  3. Listener sur un JPanel
    Par ptitelfe dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/03/2004, 13h14
  4. TNS:listener could not resolve SERVICE_NAME given in connect
    Par Sinclair dans le forum Administration
    Réponses: 15
    Dernier message: 20/08/2003, 17h26
  5. DoubleClick Listener & ENTER
    Par Pro_Fete dans le forum Composants
    Réponses: 4
    Dernier message: 27/01/2003, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo