Création de JTextField dynamique

esus1985 Messages postés 76 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 26 février 2009 - 20 mai 2008 à 20:00
esus1985 Messages postés 76 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 26 février 2009 - 20 mai 2008 à 20:30
bonjour,

j'ai une application qui doit faire du calcul matriciel.

mon probleme : je n'arrive pas créer plusieurs JTextField et les utiliser puisque dans mes boucles, je crée toujours le meme control. Du coup, je n'arrive a récuperer que la valeur du dernier Field créé

Il faudrait que j'arrive a créer une collection de JTextField mais je n'ai pas la moindre idée de comment faire.
Si quelqu'un le sait, ca me debloquerait pas mal...

voila les boucles :

mat etant de calsse matrice que j'ai définie moi même hauteur et largeur sont des int (mais bon c'est pas super utile de savoir ca pour ce probleme ^^ )


for(int j=0; j<=mat.getHauteur();j++){
for(int i=0; i<=mat.getLargeur();i++){
if(i==0||j==0){
if(i==0){val =j;}else{if(j==0){val = i;}}
this.label2.getToolTipText();
this.label2 = new JLabel(String.valueOf(val));
this.label2.setBounds(i* 20 , (j*30)+50,20,20);
//this.label2.setBorder(new LineBorder(Color.red, 2));
this.label2.setFont(new Font("truc", Font.ITALIC, 10));
this.add(this.label2);
//System.out.print(String.valueOf(i) + " " + String.valueOf(j) + "\n");



}
else{
this.Text = new JTextField (12);
this.Text.setBounds(i* 20 , (j*30)+50,20,20);
this.Text.setBorder(new LineBorder(Color.black, 1));
this.Text.setFont(new Font("truc", Font.ITALIC, 10));
//this.Text.setVisible(false);}

this.add(this.Text);
}
}
}


Merci d'avance

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 mai 2008 à 20:13
Salut,

Au lieu d'avoir une seule variable de type JTextField, nommée Text, créer une list de JTextField :

Déclaration :
List<JTextField> listeText = new LinkedList<JTextField>();

utilisation :
JTextField text = new JTextField  (12);

text.setBounds(i* 20  , (j*30)+50,20,20);
// pas pratique de faire cà, vaut mieux utiliser un Layout !!!
text.setBorder(new LineBorder(Color.black, 1));

text.setFont(new Font("truc", Font.ITALIC, 10));
// c'est quoi ce "truc" ???
this.add(text);

this.listeText.add(text);

______________________________________
DarK Sidious
0
esus1985 Messages postés 76 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 26 février 2009
20 mai 2008 à 20:17
pour le "truc" c'est du code adapté de celui de la prof.
Je pense que c'est le nom du style

pour le Layout, je connais pas, donc bon, je fais comme je peux pour finir le plus rapidement possible :p

Bon, j'essaye ta solution.

Merci d'avoir répondu si rapidement
0
esus1985 Messages postés 76 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 26 février 2009
20 mai 2008 à 20:30
la methode add ne fonctionne pas pour une liste donc je continue a creuser...
0
Rejoignez-nous