Det går att sätta en Action för en redan befintlig
knapp eller menyelement med metoden setAction(). Vidare har knappar
och menyelement konstruktorer som skapar en knapp/menyelement utfrån
en Action. JMenu och JPopupMenu har add()-metoder
som tar en Action som inparameter och returnerar ett JMenuItem.
JToolBar har en add()-metod som tar en Action
som inparameter och returnerar en JButton.
Vidare ärver Action av ActionListener så den
kan användas överallt där en ActionListener används.
Genom att använda ett och samma Action-objekt överallt
där samma operation ska utföras försäkrar vi oss om att
operationen alltid utförs på samma sätt.
En Action skickar PropertyChangeEvent när någon
av dess properties ändrar värde. När add() i JPopupMenu,
JMenu eller JToolbar anropas med en Action som
inparameter registreras det skapade menyelementet/knappen som PropertyChangeListener.
Det är på så sätt som knappen och menyelementet blir
inaktiva i detta lilla exempel, ActionExample.java.
Håll ner shifttangenten och klicka här för att hämta
bilden, action.gif.