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 :

Problème avec rafraichissement d'un JPanel à partir d'un JSlider!


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Problème avec rafraichissement d'un JPanel à partir d'un JSlider!
    Salut à tous,

    Mon problème est le suivant :

    j'appelle une classe panneau "g_Lum" à l'intérieur d'un changelistener associé à un JSlider, et à chaque fois que je bouge mon JSlider je désire effaçé mon JPanel et en ré-afficher un nouveau.

    Seulement le problème c'est que la valeur du JSlider est passée par argument à au JPanel.

    Alors moi la seule manière que je connait pour supprimer un panneau déjà existant est remove();

    seulement vu qu'à l'intérieur du changelistener se situe l'appel à la classe panneau, le fait de mettre un remove ne fait que détruire le panneau créer et donc ne rafraichit rien du tout...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     jsl.addChangeListener(new ChangeListener()
    		{public void stateChanged(ChangeEvent evt)
    		    {
                         JSlider source = (JSlider)evt.getSource();  
                          if (!source.getValueIsAdjusting()) {
     
                     graph_Luminescence gLum = new graph_Luminescence(Temperature,jsl.getValue());
     
    //remove(gLum)    ici ça ne fait que me supprimer ma variable gLum
    add(gLum);
    validate();
     
    }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu peux utiliser un CardLayout pour changer de JPanel sans faire de remove. Par contre tu dois vas conserver toutes les instances des JPanel : à toi de savoir si cela convient à ton application.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Pour commencer dinobogan merci de ton aide.

    Donc Si j'ai bien compris il faut que j'utilise CardLayout pour interchanger mes panneaux.

    Seulement je n'ai pas bien compris ce que tu viens de m'expliquer

    Moi j'ai une classe Panneau_Central dans lequel il y a un JSlider .
    Et dès que je bouge mon JSlider il y a un nouveau panneau qui apparait en dessous du JSlider nommé panneau_resultat.

    Seulement dans ce panneau on se sert de la valeur du JSlider.Et j'arrive à afficher le panneau_résultat une seule fois, après je n'arrive pas à le "rafraichir" avec la nouvelle valeur du JSlider.

    En fait je ne vois pas su tout comment je peux faire avec le CardLayout.

    Un petit morceau de programme serait le bienvenu.

    Merci

  4. #4
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Salut,

    Tu peux voir le CardLayout comme une fenetre à onglets (sans onglets mais qui se change par code). En fonction de la position de ton slider, tu pourrais choisir quelle fenetre afficher.

    Un petit lien pour savoir utiliser le CardLayout avec des exemples :
    http://java.sun.com/docs/books/tutor...yout/card.html

    a+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci de vos conseils!!

    Pour info j'ai réussi à résoudre mon problème je vous mets le code !


    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
     
    jsl.addChangeListener(new ChangeListener()
    		{public void stateChanged(ChangeEvent evt)
    		    {
                         JSlider source = (JSlider)evt.getSource();  
                          if (!source.getValueIsAdjusting()) {
     
            //appel des classes panneaux
            graph_Luminescence gLum = new graph_Luminescence(Temperature,jsl.getValue());//la classe panneau à rafraichir
             gLum.setPreferredSize(new Dimension(295,390));
             jeuCartes.add(gLum, "gLum");// on ajoute notre panneau gérer par le cardLayout
     
             gestionnaireDesCartes.show(jeuCartes,"gLum");// et on l'affiche
     
             add(jeuCartes, BorderLayout.EAST);
     
                          }}});

    Merci beaucoup

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

Discussions similaires

  1. Problème de rafraichissement d'un JPanel
    Par Crues dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 28/11/2011, 18h29
  2. un problème avec l'affichage de JPanel
    Par maya123 dans le forum Débuter
    Réponses: 2
    Dernier message: 13/03/2009, 00h04
  3. Problème avec image dans JPanel
    Par littleshrimp dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/05/2006, 14h05
  4. Problème avec l'insertion d'une image dans JPanel
    Par anutka dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/03/2006, 10h02
  5. [JPanel] Problème de rafraichissement
    Par n00bi dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 04/07/2005, 17h42

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