1 package paolomind.multitalk.component;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5
6 import paolomind.multitalk.plugin.Module;
7 import paolomind.multitalk.plugin.ModuleManager;
8 /**
9 * Un ModuleManager che implementa l' AWT ActionListener.
10 * Associando l'oggetto ad un Button o AbstractButton, cattura l'evento d'azione
11 * per selezionare un tool in base al ActionCommand
12 * associato all'evento scatenato
13 * @author paolo
14 *
15 */
16 public class ActionCommandModule extends ModuleManager implements
17 ActionListener {
18
19 /**
20 * Catturato l'evento, seleziona il modulol.
21 * @param e evento catturato,
22 * tale evento deve aver specificato l'ActionCommand
23 * con l' id del tool da selezionare
24 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
25 */
26 public final void actionPerformed(final ActionEvent e) {
27 if (this.select(e.getActionCommand())) {
28 this.activate();
29 }
30 }
31
32 /**
33 * Metodo che si occupa di assegnare l'ActionListner ad un java.awt.Button e
34 * inizializzare l'ActionCommand.
35 * @param m modulo da associare al bottone
36 * @param b il bottone da inizializzare
37 * @return il bottone inizializzato (non è necessario reperirlo)
38 */
39 public final java.awt.Button setupAction(final Module m,
40 final java.awt.Button b) {
41 this.register(m);
42 b.setActionCommand(m.getSelfId());
43 b.addActionListener(this);
44 return b;
45 }
46
47 /**
48 * Metodo che si occupa di assegnare l'ActionListener
49 * ad un javax.swing.AbstractButton e
50 * inizializzare l'ActionCommand.
51 * @param m modulo da associare al bottone
52 * @param b il bottone da inizializzare
53 * @return il bottone inizializzato (non è necessario reperirlo)
54 */
55 public final javax.swing.AbstractButton setupAction(final Module m,
56 final javax.swing.AbstractButton b) {
57 this.register(m);
58 b.setActionCommand(m.getSelfId());
59 b.addActionListener(this);
60 return b;
61 }
62 }