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

Agents de placement/Fenêtres Java Discussion :

Interchanger un JPanel avec un autre


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    jfz
    jfz est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Interchanger un JPanel avec un autre
    Bonjour à tous,

    Je suis occupé à réliser une applic dont les composants pourront changer selon le mode choisi.

    J'ai un JPanel que j'ai appelé jPanelOuest qui contient d'autres jPanel et des labels, je veux lorsque l'utilisateur clique sur un bouton que le jPanelOust soit remplacé par le jPanelOuestBis qui a les mêmes caractéristiques (dimensions, etc) mais qui contient d'autres éléments.

    De même, lorsque l'utilisateur clique sur un autre bouton, il faut que le jPanelOuestBis soit remplacé par le jPanelOuest.

    J'ai créé les deux jPanel avec à chaque fois leurs jPanel respectifs et leurs composants. Lorsque j'utilise la méthode setVisible pour l'un à true et pour l'autre à false, ca ne fonctionne pas. En fait, il n'affiche ou n'efface que le jPanelOuest. Le jPanelOuestBis ne s'affiche jamais (ou ne s'efface jamais, forcément)

    J'espère que c'est assez clair.

    Merci pour vous suggestions!

    JF

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    N'aurais-tu pas un problème avec les Layout.

    Quand tu mets tes 2 JPanel à setVisible(true) est-ce que tu vois bien les deux ?

  3. #3
    jfz
    jfz est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse!

    Tous mes layout sont des BorderLayout.
    Si je les mets tout les deux setVisible(true), je n'en vois qu'un.

    Les deux jPanel ont les mêmes tailles (preferredSize les mêmes)

    Aie aie aie...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    Essaie avec un autre Layout dans ton JPanel ou ta JFrame qui contient tes 2 JPanel Ouest.

    Je connais assez peu le border Layout, et je me demande si on peut mettre deux objets à une meme place ... et c'est peut être pour ca qu'on en peut pas les afficher en meme temps.

    Pour l'instant, la seule solution que je verrais serait de remplacer tes JPanel à chaque fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JPanelPrincipal.remove("West",JPanelOuest);
    JPanelPrincipal.add("West",JPanelOuestBis);
    Mais je trouve que cette solution est loin d'être 'propre' et performante.

  5. #5
    jfz
    jfz est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ca ne fonctionne pas. (Les deux sont dans le jFrame). D'ailleurs, ca provoque une erreur solide...

    Merci quand même!

    Une autre idée ? Ca doit quand même être faisable.

  6. #6
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Pour modifier un JPanel, il suffit de supprimer l'ancien, de mettre le nouveau avec les meme contraintes et de faire un repaint()

  7. #7
    jfz
    jfz est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse narmataru!

  8. #8
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Moi je serais plutot pour les setVisible(), je pense qu'en temps d'execution c'est largement meilleur.

    Je pense que le plus simple est de mettre les 2 panel ouest dans un même container (panel ou autre qui sera à la bonne place) et qui sera en overlayLayout.

    Tu place tes 2 panels ouest l'un sur l'autre dans de container puis tu joues avec les setVisible().

  9. #9
    jfz
    jfz est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse!

    Ca marche effectivement très bien avec un panel dont le layout est en overlayLayout.

    Mille merci!!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Points : 54
    Points
    54
    Par défaut le fond d'une Jframe
    [bonsoir,pour moi j'ai un seul panel que j'enlaive avec setvisible(false) et j'ajoute avec setvisible(true) dans une fenetre, mais le probléme j'ai declaré plusieur panel dans la fenetre et tous avec des font(image) et quant j'enlaive un sa place reste grise (la couleur par défaut).
    j'ai fais le méme font à la fenetre mais le troue gris reste toujours.
    commet je peux régler ce probléme?
    merci.

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 1
    Points : 0
    Points
    0
    Par défaut changer les panels
    moi aussi j'ai le meme probleme :
    je veux changer un panel par un autre panel de meme dimension ; j'ai utilisé
    Panelprincipale.remove(Panel1);
    Panelprincipale.add(Panel2);
    mais lorsque je click sur le bouton pour changer les panels , rien de ce passe , mais lorsque je change la dimension de la fenetre,le panel change !!!!!!!!!
    j'ai pas compris c koi le pb !!!!!

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

Discussions similaires

  1. [Swing] JPanel avec sa JScrollBar qui scrolle toute seule
    Par chcoust dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/11/2006, 14h37
  2. Ecrire directement avec une autre langue???
    Par touhami dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 21/02/2005, 21h57
  3. Liée table avec une autre base
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/01/2005, 09h06
  4. Réponses: 5
    Dernier message: 02/09/2004, 16h17
  5. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52

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