Quote Originariamente inviata da andbin Visualizza il messaggio
Questo è abbastanza ovvio: il if(e.getActionCommand()=="A") lo fai dentro il ciclo. Se premi "A" quindi la condizione è true e la ripeti per 21 volte. Solo che il setText effettivo è quello dell'ultimo ciclo, dove alfabeto[i] è chiaramente la "z".
Rivedi la logica (non so bene cosa volevi fare ...).
Argh, vero! Ho risolto così:

codice:
private int i = 0; (in cima alla classe)

public void actionPerformed(ActionEvent e){
			if(i<22){
			testo.setText(alfabeto[i] + "--> " + e.getActionCommand());
			i++;
			}
Ora vorrei nascondere il bottone una volta cliccato... come fare?
Visto che il e.getButton restituisce la stringa col nome del bottone, ho provato a fare così:

codice:
e.getActionCommand().setVisible(false)
ma niente perché giustamente mi vede e.getActionCommand() come semplice String... come posso fare?
Grazie


Comunque, in generale:

1) La ripetizione per 21 volte della impostazione dei pulsanti non va granché bene, si può (e deve) ridurre! Immagina come .... hai un array di lettere ...
Ci provo e vediamo cosa esce

2) Non usare costanti letterali per i constraint di BorderLayout. Usa le sue costanti in BorderLayout:

add(pannelloLettere,"North"); // No

add(pannelloLettere, BorderLayout.NORTH); // Sì


Sul libro che sto usando dice che è equivalente... ci sono problemi particolari?