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 :

JPanel / BorderLayout et Suppression de Composants


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut JPanel / BorderLayout et Suppression de Composants
    Bonjour,

    Voilà, j'ai un petit soucis, je développe une appli Java avec de nombreux Panels différents.

    Mon Panel principal est un Border Layout...
    Au nord : une barre de menu
    A l'ouest : une barre de menu secondaire
    Au centre : ma page.

    En fonction des menus sélectionnés, mon panel Ouest change... Jusqu'ici tout va bien...
    Sauf que quand je veux remplacer un panel, j'utilise "panel.remove(Component);"
    Cette fonction ne me convient pas car je souhaiterais retirer un panel en fonction de sa position et non pas de son nom!

    Est ce possible???

    La fonction RemoveAll ne me convient pas non plus car je souhaite dans tout les cas conserver ma barre de menu (Nord)...

    Merci d'avance!

  2. #2
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    Pour le moment je fais avec un CardLayout mais c'est pesant comme utilisation...

    Any Idea???

    Thx

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    Moi je te conseil d'utiliser un gridbag layout et de ne pas faire de remove mais de setVisible(false)

    Un remove fera recalculer la taille, la position de tous les composants de ta frame (si je ne me trompe). Ce qui sera lourd.

    Pour ce qui est d'afficher ou non un panel en fonction de sa position la ca dépends de ton applic, on n'a pas assez d'infos que pour t'aider.

    J'imagine qu'un panel doit s'afficher si tu clic sur tel ou tel option de ton menu?

  4. #4
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    En gros, je souhaite afficher tel ou tel panel en fonction du bouton "actionné"...

    Pour le moment, j'ai un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panel3.add(MenuHome , "MenuHome");
    panel3.add(CreateStation , "CreateStation");
    CardLayout cl = (CardLayout)(panel3.getLayout());
    cl.show(panel3, "MenuHome");
    En fonction des listeners actifs, je change le panel visible de mon CardLayout...
    Mais je trouve que le fait de "superposer" les layouts dans mon CardLayout et d'afficher l'intéressé, est une solution "sale" dans mon cas.

    J'aurais aimé : Quand je cliques sur un bouton, le panel gauche affiché se supprime et qu'à la place, on affiche le panel voulu...

    Clair ou pas clair??? Sorry je débute...

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Citation Envoyé par LesToulousains
    Sauf que quand je veux remplacer un panel, j'utilise "panel.remove(Component);"
    Cette fonction ne me convient pas car je souhaiterais retirer un panel en fonction de sa position et non pas de son nom!

    Est ce possible???
    Tu peux faire avec BorderLayout.getLayoutComponent je pense.

    Style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composantOuest = borderLayout.getLayoutComponent(BorderLayout.WEST);

Discussions similaires

  1. ajout et suppression de composant avec fonctions remove() et add()
    Par senobogos dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 31/05/2012, 15h25
  2. suppression de composant formPanel
    Par bakman dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 16/06/2010, 15h53
  3. [VBA] Problem de suppression de composant
    Par jesus144 dans le forum IHM
    Réponses: 9
    Dernier message: 26/04/2006, 10h03
  4. [JPanel] priorité de sélection de composants
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 23/06/2005, 08h57
  5. Créer composant avec TQuery->pb suppression a la concepti
    Par marghett dans le forum Bases de données
    Réponses: 12
    Dernier message: 24/07/2004, 07h42

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