Java et textfield

Fermé
tonio973 - 24 janv. 2005 à 11:16
 alex - 24 janv. 2005 à 11:36
salut à tous,

j'aimerais générer un nombre X de Textfield en Java :
par exemple si X=3,
je voudrais faire une boucle qui affiche 3 textfield, j'ai essayé ceci mais ca marche pas, a vrai dire je m'y attendais un ch'ti peu ;o)) :

for(k=1; k<3; k++) {
TextField Ak=new TextField(5);
}

Quelqu'un aurait-il une idée ??

Merci à vous
A voir également:

1 réponse

euh.... tu veux afficher tes textfields où ça ? En programmation objet, le code que tu as écris signifie que tu crées trois instances d'objets de type TextField mais tu perds la référence qui pointe vers ces objets puisque la variable "Ak" n'est visible que dans la boucle (et donc perdue à la fin de chaque itération). Tu n'as donc fait que créer trois objets en mémoire, qui seront détruits lorsque le Garbage Collector se mettra en route...

Je crois comprendre que tu programmes avec l'API AWT (package java.awt) qui définit une classe Frame (une fenetre) permettant d'afficher des composants graphiques. Il faut toujours ajouter un composant dans un "conteneur" (classe java.awt.Container) capable de l'afficher pour qu'il soit visible. Ainsi, dans une Frame on place généralement un "Panel" (méthode Frame.add(Panel)).

Si tu demandes comment afficher des TextFields, c'est que tu disposes déjà d'une fenetre quelque part, à laquelle tu as dû ajouter un Panel. Donc il te reste à faire simplement quelque chose comme ça dans ta boucle :

for(...) {
    tonPanel.add(new TextField(5));
}


Pour l'API complète du JDK1.5 : http://java.sun.com/j2se/1.5.0/docs/api/

Un tutoriel : http://jmdoudoux.developpez.com/java/?page=chapitre_11_elements_awt
0