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 :

Mise a jour d'un JPanel


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Par défaut Mise a jour d'un JPanel
    Bonjours à tous,

    Voilà je vous explique mon problème :

    Je développe un programme permettant de gérer une bibliothèque. Ce programme contient (entre autre) :
    Une classe "Session" qui a pour variable l'utilisateur en cours (instance de la classe utilisateur) mais aussi une variable "frameEnCours" de type frmPrinc (classe qui hérite de JFrame), ainsi qu'une variable "panelEnCours" de type JPanel.

    Lorsque l'utilisateur clique sur un menu, je fais un dispose() sur la frameEnCours et j'en instancie une nouvelle avec comme paramètre la JPanel que je veut afficher à l'intérieur de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public frmPrinc(Session s, JPanel panel) {
            super("easyLibrary - Session de " + s.getUtilisateur().getNom());
            this.s = s;
            this.setVisible(true);
            initComponents();
            panelEnCours.setLayout(new BorderLayout(1, 1)); //ici, panelEnCours est le nom d'une JPanel à l'interieur de frmPrinc
            panelEnCours.add(panel);
            this.repaint();
            this.validate();
            s.setFrameEnCours(this);
        }
    Bref sa marche bien mais c'est vraiment pas propre. Malheureusement, toutes mes tentatives pour mettre à jours sans passer par un rechargement de la page sont restés veines. Et ce, malgrès une cascade de repaint, de validate, de updateUI sur mes containers...

    J'ai essayé ceci : (une méthode dans frmPrinc visant à mettre à jour la JPanel : )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public void affecterPanel(JPanel panel) {
            panelEnCours.removeAll();
            panelEnCours.validate();
            panelEnCours.setLayout(new BorderLayout(1, 1));
            panelEnCours.add(panel);
            panelEnCours.repaint();
            panelEnCours.validate();
            panelEnCours.updateUI();
        }

    Mais en vain, la fenêtre ne se met pas à jours mais en plus je ne peux cliquer nul part après cela. Il n'y a aucune erreur, le programme ce ferme très bien en cliquant sur la croix mais aucun bouton interne au programme ne fonctionne.

    Quelqu'un aurait-il une idée?

    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Faudrait peut être commencer par changer les données contenues dans le panel, et donc faire en sorte que le panel contienne des méthodes pour modifier ces valeurs. Ca ne sert à rien de faire toute la reconstruction du panel en lui même, vu que sa disposition ne change pas. Juste prévoir un tant soit peu de séparation à la pseudo sauce MVC telle que dans le tuto suivant:

    http://baptiste-wicht.developpez.com...onception/mvc/

    De fait tu n'auras alors plus qu'à proposer une méthode setModel pour pouvoir modifier d'un coup d'un seul toutes tes données.

Discussions similaires

  1. Mise à jour d'un JPanel
    Par Bullit84 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/12/2012, 18h18
  2. [JTree] Mise à jour d'un JPanel selon le noeud sélectionné dans le JTree
    Par Carlito95 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 23/03/2010, 20h42
  3. Mise a jour de l'affichage JFrame-JPanel
    Par aristeas dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 10/06/2006, 10h12
  4. Réponses: 4
    Dernier message: 27/02/2006, 16h32
  5. Visualisation des mise à jour en réseau
    Par fandor7 dans le forum Paradox
    Réponses: 2
    Dernier message: 06/12/2002, 15h54

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