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 :

Refresh d'une fenêtre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Par défaut Refresh d'une fenêtre
    Bien le bonjour,

    J'ai un problème, j'ai une fenêtre, avec deux panel. Dans mon deuxième panel, j'ai quelques jcombobox, dépendantes par hiérarchie. Exemple, si je modifie la dernière combobox, aucun incidence. Si je modifie la première, la valeur dans les suivantes change...
    Chaque combobox est remplie à partir d'une DB, donc pour remplir chaque combobox, j'ai une requete.
    J'aimerais une methode qui permet, lorsque je modifie une CBB, de rafraichir chaque autre, ou la page complètement, mais donc en exécutant les requêtes puisque les valeurs dépendent de la valeur d'un CBB précédente...
    J'spère me faire bien comprendre.
    J'ai essayé pas mal de truc, des repaint, des refresh, ... Mais rien ne va.
    Merci d'avance si vous savez m'aider.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Essaie quelque chose dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    final JComboBox parentBox = new JComboBox(); // final ou variable d'instance
    final JComboBox childBox = new JComboBox (); // final ou variable d'instance
    parentBox.addItemListener(new ItemListener() {
      public void itemStateChanged (ItemEvent e) {
        switch (e.getStateChanged()) {
        case ItemEvent.DESELECTED: // si une valeur a été désélectionnée
          childBox.setSelected(true);
          break;
        case ItemEvent.SELECTED: // si une valeur a été sélectionnée
          childBox.setSelected(false);
          break;
        }
      }
    });
    N'aie pas peur, ton écouteur sera toujours appelé deux fois (au moins) : une fois pour la désélection de l'item courant, et une autre fois pour la sélection du nouvel item.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Par défaut
    Ca fonctionne oui, mais ca ne rafraichit pas les données dans la liste.

    Exemple : Dans mon premier combobox, j'ai le choix entre deux batiments, si le batiment 1 est sélectionné, dans le 2e JComboBox, je dois afficher le nombre d'étages dans ce batiment, si c'est l'autre batiment, ben le nombre d'étages correspondant doit être dans l'autre JComboBox, puis lorsque je choisis l'étage, les numéros de locaux de cet étage, etc... A chaque fois que je modifie un JComboBox parent, les enfants doivent se modifier en fonction du précédent.

    JCBB1 ------> JCBB2 ------> JCBB3

    Bâtiment ---> Etage ------> Local

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Bah... il suffit de remplacer le contenu des cas du switch par ce que tu souhaites !

  5. #5
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Par défaut
    Ca je n'en doute pas, et c'est là l'intéret de ma question, comment faire? J'ai essayé des trucs, du genre repaint, refresh, mais ca ne va pas, y a pas autre chose, une methode qui recharge complètement la fenêtre?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object[] mesNouvellesDonnees = retrouveurDeDonnees.get(parentBox.getSelectedItem()) ;
    childBox.setModel(new DefaultComboBoxModel(mesNouvellesDonnees));
    Ca me semble pas plus compliqué que cela.

Discussions similaires

  1. Refresh une fenêtre
    Par cricri77200 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 30/06/2009, 12h20
  2. [meta refresh] ds une nouvelle fenêtre
    Par sirjenny dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 16/08/2007, 15h58
  3. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 12h25
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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