alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 2008
-
30 nov. 2005 à 15:35
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 2006
-
2 déc. 2005 à 23:39
bonjour,
j'ai 1 applet. je laisse la possibilite a l'utilisateur de l'applet de specifie le nbre d'item (=> de TextField) dont ils ont besoin. si il choisi 30 dans la combobox ("nbItem") et clique sur "OK", il s'affiche 30 TextField ("nomItem") sur l'applet. jusqu'ici pas de pbl.
le truc c'est que si apres avoir affiche ces 30 items, si il se reprend et selectionne 15 dans "nbItem" et clique sur "OK", le prg ci-dessous s'execute sans planter mais il y a tjrs 30 TextFields a l'ecran. Je crois les items 16 a 30 n'ont pas ete completement unloades ... comment faire ?
private JTextField[] nomItem = null;
public void actionPerformed(ActionEvent ev) {
Object source = ev.getSource();
if (source == boutItem) {
nomItem = null;
nomItem = new JTextField[nbItem.getSelectedIndex() + 1];
for (int i = 0; i <= nbItem.getSelectedIndex(); i++) {
nomItem[i] = new JTextField();
valAtt[i] = new JFormattedTextField();
nomItem[i].setBounds(5, 40 + 25 * i, 60, 20);
nomItem[i].setText("Item " + (i + 1));
add(nomItem[i]);
}
}
}
alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 200812 30 nov. 2005 à 22:06
private JTextField[] nomItem = null;
public void actionPerformed(ActionEvent ev) {
Object source = ev.getSource();
if (source == boutItem) {
/* nomItem = null;
j'ai place ici "nomItem.removeAll();", "removeAll(JTextField nomItem);", "this.removeAll(nomItem);", ... mais rien a faire : ca plante. quelle est la bonne syntaxe ? */
nomItem = new JTextField[nbItem.getSelectedIndex() + 1];
for (int i = 0; i <= nbItem.getSelectedIndex(); i++) {
nomItem[i] = new JTextField();
valAtt[i] = new JFormattedTextField();
nomItem[i].setBounds(5, 40 + 25 * i, 60, 20);
nomItem[i].setText("Item " + (i + 1));
add(nomItem[i]);
}
}
}