Création dynamique de label pour une interface graphique en java
projetmarie
Messages postés11Date d'inscriptionmardi 19 avril 2005StatutMembreDernière intervention31 mai 2006
-
21 juin 2005 à 14:47
projetmarie
Messages postés11Date d'inscriptionmardi 19 avril 2005StatutMembreDernière intervention31 mai 2006
-
5 juil. 2005 à 11:23
Bonjour à tous,
J'ai des petits problèmes pour la création de mon interface. En fait je souhaite réaliser une interface dynamiquement. C'est à dire que j'affiche une Jframe sur laquelle j'ai créé un Terxtfield, dans lequel l'utilisateur rentre un nombre qu'il valide avec un bouton OK (partie statique de l'interface). Ensuite, dans la fonction ActionPerformed du bouton OK, j'utilise une boucle For pour pouvoir créer et afficher dynamiquement, sur cette même JFrame, un nombre de label égal au nombre entrer par l'utilisateur. Les labels ont l'air de se créer mais il est impossible de les faire afficher sur le panel de la JFrame.
J'aimerai savoir si c'est possible et comment faire.
Merci d'avance...
projetmarie
Messages postés11Date d'inscriptionmardi 19 avril 2005StatutMembreDernière intervention31 mai 2006 4 juil. 2005 à 13:31
Salut à tous,
Je crée à peu prés le même genre d'interface dynamiquement à part que je fais afficher (avec une boucle for) des textfield. J'appelle plusieurs fois de suite cette boucle for. J'aimerai savoir comment je peux récupérer les informations entrées par l'utilisateur dans les différents textfield créés.
Mon code est le suivant:
tabSousAgent est un vector, chaque fois que l'utilisateur entre quelques chose dans un textfield et passe à un autre les données entrées dans le textfield sont enregistrées dans le vector (avec la fonction void focuslost). Le problème est que, si par exemple, je fais afficher dynamiquement 3 texfield et que l'utilisateur commence par remplir le troisième, les données tapées par l'utilsateur seront enregistrées dans la première case du vector et non dans la troisième. Donc quand je vais récupérer les données du vector, je ne saurais pas quelle donnée correspond à quel textfield.
for(int i=0;i<nbreSA;i++){
final JTextField tempNomSousAgent = new JTextField();
tempNomSousAgent.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) {
tabSousAgent.add(tempNomSousAgent.getText());
}
});
panel.add(tempNomSousAgent);
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 4 juil. 2005 à 20:10
JTextField[] tempNomSousAgent = new JTextField[ nbreSA ];
for(int i=0;i<nbreSA;i++){
tempNomSousAgent[i] = new JTextField();
tempNomSousAgent[i].addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) {
tabSousAgent.add(tempNomSousAgent[i].getText());
}
});
panel.add(tempNomSousAgent[i]);
myFrame.show();
}
ensuite tu tarange pour que 'tempNomSousAgent' soit visible partou ou tu en a besoin ...
ou alors tu le passe en param ou encor tu peu aussi crer ta propre class component qui gere une collection de JTex.. ;o) enfin la je t ai donne la solution la plus rapide et la plus simple ...
GL
++
GodConan
Vous n’avez pas trouvé la réponse que vous recherchez ?