2013-02-24 10 views

risposta

10

Un Action è preferibile se è necessario condividere funzionalità tra i componenti. Da docs

se si dispone di due o più componenti che eseguono la stessa funzione, considerare l'utilizzo di un oggetto Azione per implementare la funzione.

ma dice anche

Un oggetto d'azione è un listener di azione che prevede non solo la gestione di azione-evento, ma anche la gestione centralizzata dello stato di componenti di azione-evento-cottura, come pulsanti della barra degli strumenti , voci di menu, pulsanti comuni e campi di testo. Lo stato che un'azione può gestire include testo, icona, mnemonico, abilitato e stato selezionato.

+1

+1 per 'Azione'; ['FileMenu'] (http://stackoverflow.com/a/4039359/230513) è un esempio di base. Il vantaggio di farlo non è doverlo fare da ultimo. :-) – trashgod

+1

Che dire creare un singolo listener di azioni e aggiungere lo stesso riferimento a più componenti swing tramite 'addActionListener()'? Non è la stessa cosa? –

+4

@ Eng.Fouad: le azioni hanno altre funzioni aggiuntive non trovate con ActionListeners, tra cui la possibilità di contenere icone, chiavi mnemoniche, descrizioni e di contenere qualsiasi valore-chiave che desideri. –