Un grido ai guru Swing là fuori !!Comandi di azione e classi di azioni?
Ho fatto programmazione Swing per diversi anni, ma non sono mai stato chiaro su questo.
Come sapete, Swing/AWT offre diversi modi per eseguire una determinata azione quando si fa clic su un pulsante. L'ho visto fare diversi modi nelle applicazioni su cui ho lavorato. Il progetto a cui sto attualmente lavorando su tende a seguire questo approccio:
someButton.setActionCommand("mycommand");
someButton.addActionListener(listener);
--snip--
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if (command.equals("mycommand"))
doThis();
else if (command.equals("someothercommand"))
doThat();
etc.
Questo sembra tipo di goffo per me - non v'è alcun vantaggio di questo stile di programmazione , o è meglio usare Swing Action
s?
Oppure ci sono diverse situazioni in cui i diversi approcci sono migliori/peggiori?
Penso che sia sufficiente usare la discrezione per decidere quando è appropriato. Non penso che ci sia qualcosa di giusto o sbagliato in quanto tale, è solo una di quelle cose su cui i programmatori hanno preferenze personali, ma come ha detto Brandon, se i pulsanti multipli facessero la stessa cosa avrebbe senso usare un'azione ascoltatore! – Andy