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

Composants Java Discussion :

Deux listes dépendantes l'une de l'autre


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 72
    Par défaut Deux listes dépendantes l'une de l'autre
    Bonjour,

    voila mon probleme

    mon premier combobox BRAND contient :

    %
    AGFA
    HP
    BROTHER

    le deuxieme IND:

    %
    COPIER
    PRINTER
    FAX


    je voudrais que quand je choisi un element de IND, il reset la selection de BRAND (lstBrand.setSelectedIndex(0))

    et vice versa .


    le probleme est que quand setSelectedIndex(0) va avoir lieu , il va y avoir un event qui appele ma fonction execChangeBrand() ... et comme celle ci va vouloir faire le reset de IND .... je vais me retrouver dans une boucle infinie ou les deux liste se reset a tour de role .

    j ai pensé mettre un flag pour que l event appele la fonction execChangeXXX() que si isReseting=false , mais le probleme c'est que me fonctions exec sont des "SwingUtilities.invokeLater" ....

    donc je ne peux absolument pas me baser sur la valeur du flag .


    si qqn a compris ce que j'essaye d'expliquer, est ce que vous avez une solution à ca ???


    merci pour votre aide

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    et si tu n'appelais le setSelectionIndex(0) sur l'autre combo que si la sélection actuelle est différente de "%" (ou autrement dit si l'index de la sélection est différente de 0) ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 72
    Par défaut
    merci merci merci

    ça semble tellement évident que j ai presque honte d'avoir pas trouvé tout seul .


    ce changement de valeur de mes listes m amène à la question suivante :

    a la suite d une selection , j execute une fonction qui met a jour une table dépendante de l IND et la BRAND selectionnée . Mais comme la mise a jour du combobox se fait dans un thread, je n ai pas de garantie que au moment ou ma fonction est executée, les valeurs des combo sont déjà changée. Quel est la best Practice pour ce genre de situation .

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par somnix Voir le message
    merci merci merci

    ça semble tellement évident que j ai presque honte d'avoir pas trouvé tout seul .
    Ca peut arriver à tout le monde, lorsqu'on a le nez dans le guidon, de ne pas penser aux évidences.

    Citation Envoyé par somnix Voir le message
    ce changement de valeur de mes listes m amène à la question suivante :

    a la suite d une selection , j execute une fonction qui met a jour une table dépendante de l IND et la BRAND selectionnée . Mais comme la mise a jour du combobox se fait dans un thread, je n ai pas de garantie que au moment ou ma fonction est executée, les valeurs des combo sont déjà changée. Quel est la best Practice pour ce genre de situation .
    Salut,

    je ne comprends pas trop pourquoi tu aurais un thread qui met à jour un combo ? Quel combo ? IND ou BRAND ou les deux ? Qu'est ce que tu entends par "met à jour" : remplir le modèle, sélectionner l'index 0 ? Dans les deux cas pourquoi faire ?
    Que tu aies un thread (ou, mieux, un SwingWorker) pour faire la requête qui va chercher les donnée pour ta JTable, je comprendrais, parce que la requête peut être assez longue, et donc éviter de bloquer l'UI, on la ferait hors du thread graphique.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 72
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    je ne comprends pas trop pourquoi tu aurais un thread qui met à jour un combo ? Quel combo ? IND ou BRAND ou les deux ? Qu'est ce que tu entends par "met à jour" : remplir le modèle, sélectionner l'index 0 ? Dans les deux cas pourquoi faire ?

    désolé, j ai pas bien explique la situation .

    en fait quand je selectionne soit une BRAND , soit une IND, dans une deble en dessous j'affiche soit ... toute les IND by BRAND , soit toute les BRAND by IND.

    donc quand je sélectionne par exemple une ind , je reset la sélection de la BRAND (brands.setSelectedIndex(0) et ensuite je rafraichis ma table.

    peux -etre que j'ai mal lu la documentation , mais je pensais que pour faire par exemple le setSelectedIndex() il fallait utiliser qqch comme ca

    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    lstBrand.setSelectedIndex(0);
    }
    });

    mais si droit derriere j'appele ma fonction qui rafraichis la table, je ne suis pas sur que la liste sera déja mise a jour.


    désolé je suis pas sur d etre tres clair

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 72
    Par défaut
    ooops , je crois que je viens de trouver la réponse .

    SwingUtilities.InvokeAndWait()


    mais est ce que c est bien juste de faire ca ? est ce qu il est nécessaire de passer par ca chaque fois qu on met a jour un element de l interface ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Spliter deux lignes dépendantes l'une de l'autre
    Par pop_up dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 14/12/2011, 13h29
  2. [AC-2010] Zone de liste dépendante d'une autre
    Par barb63 dans le forum IHM
    Réponses: 2
    Dernier message: 16/10/2011, 23h00
  3. [AC-97] liste dépendant d'une autre dans formulaire continu
    Par 6ril25 dans le forum IHM
    Réponses: 8
    Dernier message: 03/09/2009, 12h26
  4. zone de liste dépendante d'une autre zone de liste
    Par popof60 dans le forum Access
    Réponses: 3
    Dernier message: 30/03/2007, 15h28
  5. Zone de liste dépendant d'une autre liste
    Par JimmyB dans le forum Access
    Réponses: 7
    Dernier message: 31/03/2006, 22h36

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