[SWING] voir un composant ajouté dynamiquement

Le
Gabriel
Bonsoir à tous,

Je suis confronté à un problème, j'ai créé une interface graphique avec le
module 'design' de NetBeans dans lequel il y a entre autre un JPanel et un
bouton qui est sensé ajouter un JTexField dynamiquement dans le JPanel.

A priori le JTextField est bien ajouter dans le JPanel lorsque je clic sur
le bouton puisqu'un "monPanel.getComponentCount()" m'indique bien à chaque
fois qu'il y a un composant de plus, mais celui-ci (le JTextField)
n'apparait pas même après un validate();

Je ne sais pas si cela a de l'importance mais je précise que, puisque
j'utilise le design de NetBeans, le code est généré automatiquement et le
layout utilisé est le GroupLayout.
Pour ajouter mon JTexField je fais simplement :
JTextField jtf = new JTexField("bla bla");
monPanel.add(jtf);

Je ne sais pas quoi faire pour rendre visible les JTextField ajoutés ??

Merci d'avance pour vos conseils éclairés.

Cordialement,
Gabriel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
TestMan
Le #227389
Bonsoir à tous,

Je suis confronté à un problème, j'ai créé une interface graphique avec le
module 'design' de NetBeans dans lequel il y a entre autre un JPanel et un
bouton qui est sensé ajouter un JTexField dynamiquement dans le JPanel.

A priori le JTextField est bien ajouter dans le JPanel lorsque je clic sur
le bouton puisqu'un "monPanel.getComponentCount()" m'indique bien à chaque
fois qu'il y a un composant de plus, mais celui-ci (le JTextField)
n'apparait pas même après un validate();

Je ne sais pas si cela a de l'importance mais je précise que, puisque
j'utilise le design de NetBeans, le code est généré automatiquement et le
layout utilisé est le GroupLayout.
Pour ajouter mon JTexField je fais simplement :
JTextField jtf = new JTexField("bla bla");
monPanel.add(jtf);

Je ne sais pas quoi faire pour rendre visible les JTextField ajoutés ??

Merci d'avance pour vos conseils éclairés.

Cordialement,
Gabriel


Bonjour,

Je crais que vous n'ayez pas vraiment cherché vu que la question a été
posée il y a pas si longtemps ... de plus c'est un "grand classique"
alors ...

Bonne recherche ;-)

A+
TM

Gabriel
Le #227388
"TestMan" 45feffdd$0$31973$
Bonjour,

Je crais que vous n'ayez pas vraiment cherché vu que la question a été
posée il y a pas si longtemps ... de plus c'est un "grand classique" alors
...



J'ai passé en revue tous les messages précédents de ce forum mais
l'historique conservé par Orange est assez faible.
Sinon c'est sure que quand on sait, c'est toujours un grand classique.

--
Cordialement,
Gabriel

Gabriel
Le #227387
"Gabriel" 45ff1fab$0$27370$

"TestMan" 45feffdd$0$31973$
Bonjour,

Je crais que vous n'ayez pas vraiment cherché vu que la question a été
posée il y a pas si longtemps ... de plus c'est un "grand classique"
alors ...




revalidate() ...
maintenant que je sais, y a pas plus classique.

--
Cordialement,
Gabriel


TestMan
Le #227386
"TestMan" 45feffdd$0$31973$
Bonjour,

Je crais que vous n'ayez pas vraiment cherché vu que la question a été
posée il y a pas si longtemps ... de plus c'est un "grand classique" alors
...



J'ai passé en revue tous les messages précédents de ce forum mais
l'historique conservé par Orange est assez faible.


Dans un tel cas, avez-vous essayez par google groups à tout hazard ?

Sinon c'est sure que quand on sait, c'est toujours un grand classique.


Non, c'est un grand classique quand la question a été plusieurs fois
posée et plusieur fois répondue (et en plus sous des formes différentes)
... faut vraiment qu'on mette la FAQ à jour, histoire d'éviter les même
questions.

(message perso : Jerome, tu réponds plus sur ton mail ? )

A+
TM


Zazoun
Le #227384
Je ne sais pas si c'est possible avec Netbeans, mais tu peux utiliser
CardLayout pour montrer ou cacher ton JTextField à loisir (ça peut
éviter de changer la taille de ta fenêtre)
Gabriel
Le #227381
"Zazoun"
Je ne sais pas si c'est possible avec Netbeans, mais tu peux utiliser
CardLayout pour montrer ou cacher ton JTextField à loisir (ça peut
éviter de changer la taille de ta fenêtre)

En faite je me suis simplifié l'existence en passant le panel en FlowLayout,
comme il s'agit d'un panel dans le "free design" ce n'est pas vraiment
génant pour le reste et du coup ça fonctionne sans problème avec validate();
ou repaint(). J'ai un JSpinner qui permet d'incrémenter ou décrémenter le
nombre de JTexField dans le panel (de 0 à 10) , celui-ci ayant une taille
défini, les JTextField s'empilent les uns au dessous des autres comme je le
souhaitais.

Merci quand même pour ta proposition.

--
Cordialement,
Gabriel
Publicité
Poster une réponse
Anonyme