reinstancier un component dans un layout

Le
Zerovolt
Bonsoir à tous,

je cherche depuis des heures et je trouve pas comment faire.
je met dans un layout de fenetre plusieurs composant, et j'aimerais pouvoir
reinstancier un de ces composants.

par exemple:
Code:

label l = new label("toto");
maframe.add(l);

l = new label("titi");




et j'aimerai que ma frame affiche toto. je prend un label pour l'exemple
mais le cas est le meme pour 2 panels. jai essaye des validate() dans tous
les sens, sans succes. je ne peux pas faire de remove() et add() car pour un
gridlayout on ne sait pas placer un compo a l'endroit voulu.

que faire ?
merci d'avance
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Compuhelp
Le #652150
Zerovolt wrote:
Bonsoir à tous,

je cherche depuis des heures et je trouve pas comment faire.
je met dans un layout de fenetre plusieurs composant, et j'aimerais pouvoir
reinstancier un de ces composants.

par exemple:
Code:

label l = new label("toto");
maframe.add(l);

l = new label("titi");




et j'aimerai que ma frame affiche toto. je prend un label pour l'exemple
mais le cas est le meme pour 2 panels. jai essaye des validate() dans tous
les sens, sans succes. je ne peux pas faire de remove() et add() car pour un
gridlayout on ne sait pas placer un compo a l'endroit voulu.

que faire ?
merci d'avance


maframe.revalidate();

maframe.repaint();

--
Compu

Zerovolt
Le #652147
maframe.revalidate();
maframe.repaint();


merci, mais cette methode n'existe pas si je veux le faire avec une JFrame.

Compuhelp
Le #651654
Zerovolt wrote:

maframe.revalidate();
maframe.repaint();



merci, mais cette methode n'existe pas si je veux le faire avec une JFrame.




bah tu mets un jpanel dans ton jframe
et c'est ton jpanel qui contiendra tous les éléments...
faut contourner le pb un peu

--
Compu


Zerovolt
Le #651425
bah tu mets un jpanel dans ton jframe
et c'est ton jpanel qui contiendra tous les éléments...
faut contourner le pb un peu


salut,

le probleme se pose de la meme facon avec des JLabels dans un JPanel

Compuhelp
Le #651424
Zerovolt wrote:
bah tu mets un jpanel dans ton jframe
et c'est ton jpanel qui contiendra tous les éléments...
faut contourner le pb un peu



salut,

le probleme se pose de la meme facon avec des JLabels dans un JPanel




tiré tout droit de la doc java:

int getComponentCount();
void remove(int index);
Component add(Component comp, int index);

en gros je ferai:

maframe.add(new label("toto"));
int n = getComponentCount maframe.getComponentCount();
...
maframe.remove(n);
maframe.add(new label("titi"));
et eventuellement un revalidate/repaint si ca se réaffiche pas.

encore une fois, tout est marqué dans la doc et je n'ai rien inventé:
http://java.sun.com/j2se/1.4.2/docs/api/index.html

--
Compu


Zerovolt
Le #651233
int getComponentCount();
void remove(int index);
Component add(Component comp, int index);

en gros je ferai:

maframe.add(new label("toto"));
int n = getComponentCount maframe.getComponentCount();
...
maframe.remove(n);
maframe.add(new label("titi"));


pas de probleme pour enlever et ajouter, ca ca marche tres bien avec remove
et add (que ce soit avec l'index, ou avec le compo direct)

et eventuellement un revalidate/repaint si ca se réaffiche pas.


voila mon probleme justement, ca se reaffiche pas, et j'ai fo meme faire des
revalidate, repaint sur mes labels, mon panneau, ma frame... il reaffiche
pas, jai aussi essaye validate et validateTree car je distingue pas trop les
differences entre toutes les methodes mais je suis toujours bloque.

Zerovolt
Le #651230
maframe.remove(n);
maframe.add(new label("titi"));
et eventuellement un revalidate/repaint si ca se réaffiche pas.


c bon j'ai trouve mon probleme :)
le truc etant que jenlevais et remettait le meme label, mais j'ai du mal a
trouver ct bien enfoui.

merci pour ta patience, j'avais bien matte l'api mais bon ct pas ca le prob.

bonne journee a toi

Compuhelp
Le #654082
Zerovolt wrote:

maframe.remove(n);
maframe.add(new label("titi"));
et eventuellement un revalidate/repaint si ca se réaffiche pas.



c bon j'ai trouve mon probleme :)
le truc etant que jenlevais et remettait le meme label, mais j'ai du mal a
trouver ct bien enfoui.

merci pour ta patience, j'avais bien matte l'api mais bon ct pas ca le prob.

bonne journee a toi




je me disais bien aussi...
chez moi ca marchait bien :)

--
Compu


Publicité
Poster une réponse
Anonyme