Modifier le GUI en cours d'exécution

cs_couak Messages postés 3 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 12 avril 2004 - 12 avril 2004 à 16:17
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 12 avril 2004 à 22:55
Salut,

Imaginons que j'ai divers JButton dans un JPanel, et que en cours d'exécution de mon application, je veux enlever tous les boutons en cours et les remplacer par d'autres boutons

Question : comment faire ? :)

j'ai bien essayé de virer les components du JPanel (méthode removeAll() hérité de java.awt.Container mais bon apparemment ca marche pas comme je veux)

Merci

4 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
12 avril 2004 à 17:44
GodConan :clown)

ben je pense que le plus simple c de preparer un panel avec t bouton a remplacer et tu zap d un panel a lotre ;o)

autrement moi qd je doit faire se genre de chose j utilise un CardLayout ;o) l avantage c que tou les composent sont deja present tu signal juste au layout quel composent tu veut en visu.. ;o) je trouve ca pratik.

et en plus tu tembete pas avec les rafraichissement etc... ;o) c le layout qui s occupe de tout.. ;o) cool

GL

++
0
cs_couak Messages postés 3 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 12 avril 2004
12 avril 2004 à 18:58
oki je vais essayer ca, thx
0
cs_couak Messages postés 3 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 12 avril 2004
12 avril 2004 à 22:38
me revoila avec une nouvelle question, mais cette fois sur le CardLayout :)

en fait, j'ai besoin d'enlever un composant que j'avais précédemment ajouter dans le CardLayout (méthode add())
il y a bien une méthode removeLayoutComponent() mais je sais pas trop comment l'utiliser...

par exemple, si je met ca dans une classe héritant d'un JPanel :

CardLayout card = new CardLayout();
this.setLayout(card);
this.add("First", new JPanel());
this.add("Second", new JPanel());

question : comment enlever le JPanel "Second" car je n'en ai plus besoin (j'ai envie de le remplacer par un autre JPanel généré plus loin)

Merci
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
12 avril 2004 à 22:55
GodConan :clown)

decidement ;o) t pas stable ;o)

no c pas cette methode ;o)

ds ton cas c this ki contient les panel dc c this ki doit les remove et pas ton layout.. ;o)
(normalemnt les methode remove des layout sont apeller de facon transparente.. )
dc use la methode remove( component )
le plus simple c que tu conserve une refe sur t panel pour en disposer a volonté... ;o)

gl

++
0
Rejoignez-nous