Quindi, farò del mio meglio per spiegare questa domanda ...Esiste un modo più efficiente di gestire gli eventi di clic sui pulsanti rispetto a diverse istruzioni if?
Fondamentalmente, ho una GUI la cui finestra principale ha diversi pulsanti (probabilmente circa 10). Sto mettendo i pulsanti stessi in un array, ma quando si tratta di gestire gli eventi click per ogni pulsante, qualcosa di diverso sta per accadere a seconda di quale è stato cliccato.
Invece di fare qualcosa di simile:
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Button1Text") { /* do stuff */ }
else if(e.getActionCommand().equals("Button2Text") { /* do stuff */ }
else if(e.getActionCommand().equals("Button3Text") { /* do stuff */ }
else if(e.getActionCommand().equals("Button4Text") { /* do stuff */ }
}
C'è un modo più efficiente per gestire la risposta di ciascun pulsante quando viene cliccato? L'idea è che ogni volta che si fa clic su un pulsante, si apre una nuova finestra per consentire all'utente di eseguire varie attività associate a quel pulsante. Stavo pensando di utilizzare in qualche modo getActionCommand()
in combinazione con i metodi Class.forName()
/newInstance()
, ma non sono sicuro che esista un altro (o più semplice) modo di fare qualcosa del genere.
Probabilmente mi farò sembrare stupido qui, ma perché non assegni ad ogni Button il proprio ActionListener? – Gorbles