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 :

Rafraichissement == calvaire !


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut Rafraichissement == calvaire !
    Salut tout le monde!

    j'ai un problème de rafraîchissement comme beaucoup d'autres, je crois. Ce qui n'est pas forcément comme les autres c'est que quand je fais un validate(), repaint(), ou encore revalidate() le rafraichissement est pas très efficace, il ya un effet de superposition.

    En fait, mon programme dispose d'une fenêtre principal (JFrame) et je voudrais pouvoir ajouter selon le choix du user, différents JPanel (un à la fois) dans la fenêtre. Quand je choisis d'utilise une fonction des JMenu, un JPanel devrait s'ajouter... la première fois tout se passe très bien, mais les fois suivantes on voit qu'il y a une superposition des panels :s.

    quelqu'un pourrait me donner un coup de pouce?

    je met une des fonctions de mon code pour un apperçus
    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
    18
    19
    private JMenuItem getJMenuItem3() {
    		if (jMenuItem3 == null) {
    			jMenuItem3 = new JMenuItem();
    			jMenuItem3.setAction(new AbstractAction(){
    						public void actionPerformed(ActionEvent arg0) {
    							SocieteDetail socPanel = new SocieteDetail();
    							Main.this.getContentPane().remove(jPanMain);
     
    							jPanMain = null;
    							Main.this.getContentPane().add(getJPanMain().add(socPanel));
    							repaint();
    							Main.this.validate();
     
    						}
    					});
    			jMenuItem3.setText("Liste Entreprise");
    		}
    		return jMenuItem3;
    	}

  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
    Dans ton cas tout dépend du layout de ton ContentPane.

    Par défaut il est en BorderLayout.
    Or lorqu'on fait un add(Component c) sur un container en BorderLayout, il met systématiquement le composant dans l'emplcement central du BorderLayout, remaplçant le composant s'y trouvant éventuellement.

    Je te conseille donc de te diriger vers d'autres layout (GridBagLayout, GridLayout, FlowLayou, BoxLayout... à toi de voir celui qui te conviens le mieux)
    ++

    PS: non ce n'est pas un calvaire, il suffit juste de comprendre comment fonctionne Swing et ce n'est pas bien sorcier pour ce genre de notions

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    dans le code que tu as mis, tu ne remets jamais cet variable à jour non ?

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    ba justement, mon contentpane a un borderlayout, et je veux vraiment remplacer le panel que j'avais ajouté préalablement. Mais la ca le remplace pas, ca le superpose

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    le jPanMain est réinitialisé directement avec le getter... c'est le plugin Visual Editor qui fait ca comme ca, je prefere pas changé pour gardé une certaine homogénéité du code ...

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 15h13
  3. [VB6] [Datareport] Pb de rafraichissement
    Par Gadoul dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/02/2003, 10h06
  4. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h15
  5. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 17h08

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