Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SWING] voir un composant ajouté dynamiquement

6 réponses
Avatar
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

6 réponses

Avatar
TestMan
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

Avatar
Gabriel
"TestMan" a écrit dans le message de news:
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

Avatar
Gabriel
"Gabriel" a écrit dans le message de news:
45ff1fab$0$27370$

"TestMan" a écrit dans le message de news:
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


Avatar
TestMan
"TestMan" a écrit dans le message de news:
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


Avatar
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)
Avatar
Gabriel
"Zazoun" a écrit dans le message de news:

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