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 :

Remplacer une CardLayout


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut Remplacer une CardLayout
    Bonjour,
    j'ai un petit souci, j'ai créer une fenetre avec une CardLayout que je place dans un JPanel. Dans le cadre du chargement d'une sauvegarde, j'aimerai pouvoir supprimer la CardLayout existante pour afficher une nouvelle. Le probleme c'est qu'avec mon code , la nouvelle Card ne s'affiche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    v.workingpan = new JPanel();
    contenu.add(v.workingpan);
    v.pile = new CardLayout(20,0);
    v.workingpan.setLayout(v.pile);
    et voila mon code pour remplacer la Card, mais qui ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    getContentPane().remove(v.workingpan);
    v.workingpan=null;
    v.workingpan = new JPanel();
    getContentPane().add(v.workingpan);
    v.pile = new CardLayout(20,0);
    v.workingpan.setLayout(v.pile);
    v.VertBox = Box.createVerticalBox();
    v.workingpan.add(v.VertBox,"9");
    JLabel r = new JLabel("Rola");
    v.VertBox.add(r);

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Que veux-tu faire exactement ?
    Supprimer le panel (de layout CardLayout) du ContentPane pour le remplacer par un autre (bien que je ne vois pas l'intérêt de la chose) ?
    Supprimer du panel (de layout CardLayout) une Card pour en insérer une autre ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut
    je souhaite supprimer du panel la Card pour en mettre une autre

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    D'accord, le problème est qu'il faut que tu gardes une référence sur le composant (la Card) que tu veux supprimer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CardLayout layout = new CardLayout();
    JPanel panelCL = new JPanel(layout);
     
    JPanel card1 = new JPanel();
    panelCL.add(card1, "card1");
    ...
    // Suppression de la carte "card1"
    panelCL.remove(card1);
    // ajout d'une autre carte "card1" et affichage
    JPanel card1bis = new JPanel();
    ...
    panelCL.add(card1bis, "card1");
    layout.show(panelCL, "card1");

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut
    ok merci je vais tester, il faut que je cree la sauvegarde pour tester

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut
    encore une petite question, est ce que remove permet de supprimer la Card de la memoire vive??

  7. #7
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    A condition que la Card ne soit plus référencée par ailleurs dans ton programme... Si c'est le cas, pense à mettre la variable qui référence la Card à null juste après avoir fait remove.

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/05/2005, 15h34
  2. Réponses: 2
    Dernier message: 15/03/2005, 16h40
  3. Réponses: 4
    Dernier message: 16/04/2004, 17h31
  4. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 15h38
  5. [SQL] Remplacer une table
    Par rstephane dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/05/2003, 18h10

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