Qualcosa non funziona. Col button il programma restava in attesa dell'evento click, mentre col choice continua, l'unico effetto che ottengo è la stampa della scelta ma intanto gli output automatici sono già iniziati.
codice:
menu.setEnabled(true); // menu è il mio Choice che partiva disattivato
menu.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
tuaScelta = menu.getSelectedIndex()-1;
menu.setEnabled(false);
scrivi.append("Quarto di finale: ");
avvers1 = 7 - tuaScelta;
scrivi.append(SquadreNomi[tuaScelta] + "-" + SquadreNomi[avvers1] + "\n");
}
}
});
Il programma esegue le istruzioni seguenti ma appunto non considera la squadra selezionata, a parte scrivermela nella JTextArea scrivi.
Ho provato a riprodurre la situazione che avevo con il button, cioè inserendo le istruzioni nel listener, ottenendo un
Exception in thread "main" java.lang.NoClassDefFoundError
su una classe definita nel caller, che è perfettamente scritta e implementata dato che lasciando le istruzioni successive fuori dal listener funziona.
Ho anche provato a spostare le istruzioni successive nell'if del listener, e Java mi lancia
unreported exception InterruptedException; must be caught or declared to be thrown
ma se aggiungo il relativo throws dichiarando il metodo, mi dice che non posso implementarlo in quel metodo.