JButton perso+i =
Ca, ca marchera jamais!!!!
Le nom d'une variable ne peut pas être défini comme ça!
La solution de la HashTable (ou du vecteur, si tu es sûr d'avoir toujours le même traitement à faire sur TOUS les boutons..Quoiqu'il seront rangés dans l'ordre, mais bon...) me paraît être la seule envisageable...
A la limite, tu te fais une classe ButtonGroup
public class ButtonGroup extends Vector {
public ButtonGroup(Vector labels) {
super();
JButton but;
for (int i=0; i<labels.size()-1;i++) {
but = new JButton(labels.elementAt(i).toString());
but.setActionCommand("perso"+i);
addElement(but);
}
}
public JButton getButton(int index) {
if ((index >= 0) && (index < getSize())) {
return (JButton) elementAt(index);
} else {
return null;
}
}
public JButton getButton(String action) {
JButton but;
int i = 0;
while (i < size()) {
but = (JButton) elementAt(i);
if (but.getActionCommand().equals(action)) {
return but;
}
}
return null;
}
Et bon, avec ça, tu devrais pouvoir faire ce que tu veux, non???
Bon, c'est pas sur que ça compile, par contre, c'est écrit un peu à la va vite!