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 :

Problème d'ordonnancement d'évènement


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut Problème d'ordonnancement d'évènement
    J'ai une fenêtre composée comme suit :
    - en haut, une barre d'outils, avec des JButtons
    - juste en dessous, sur toute la largeur de la fenêtre, un JLabel, qui contient le titre de la fenêtre affichée
    - et sur le reste de la fenêtre, un JPanel (DYNAMIC), qui est mis à jour selon le clic.

    Sur chaque bouton de la barre d'outils, j'ai un écouteur ActionListener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    jButton_ZONE.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					jLabel_TITRE.setText("Affichage d'une zone");
    					jPanel_DYNAMIC.removeAll();
    					jPanel_DYNAMIC.add(new zone());//zone est un objet de type JPanel
    					jPanel_DYNAMIC.repaint();
    				}
    			});
    Donc, en toute logique, lors du clic sur le bouton ZONE, le label de titre doit changer de valeur, et le Panel DYNAMIC est vidé, puis rempli avec les éléments nécessaires.

    Le problème, c'est qu'il faut faire 2 clics pour voir ces 2 actions réalisées...
    En effet, lors du premier clic, le TITRE est mis à jour.
    Puis, c'est seulement lors d'un second clic sur le même bouton que le JPanel DYNAMIC est mis à jour...

    Pourquoi? Normalement, tout devrait être exécuté lors du même évènement..

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, l'utilisation d'un CardLayout rendrait l'interface beaucoup plus stable que de faire des remove et add de composants à tout va.
    C'est justement fait pour afficher/masque différents panels, comme par exemple avec des onglets.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut
    Je pense qu'il faudrait que tu fasse un revalidate sur le container qui contient la jlabel, le jpanel dynamique, et les boutons.

Discussions similaires

  1. Problème lors de l'évènement Form_Load
    Par DeFCrew dans le forum Access
    Réponses: 6
    Dernier message: 02/08/2006, 14h25
  2. Problème de gestion d'évènement
    Par florent_de_brest dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/07/2006, 16h48
  3. [VB.NET 2005]Problème de déclenchement d'évènements
    Par LTourist dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/07/2006, 16h39
  4. [MAJ]Problème de propagation d'évènement + Key Binding
    Par seiryujay dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/06/2006, 16h19
  5. Problème de déclenchement d'évènements dans un timer
    Par ArkSquall dans le forum Composants VCL
    Réponses: 18
    Dernier message: 30/04/2006, 21h32

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