View Javadoc

1   package paolomind.multitalk.component;
2   
3   import java.awt.event.ActionEvent;
4   import java.awt.event.ActionListener;
5   import paolomind.multitalk.netmessage.Sender;
6   import paolomind.multitalk.plugin.ToolInterface;
7   import paolomind.multitalk.plugin.ToolManager;
8   
9   /**
10   * Un toolManager che implementa l' AWT ActionListener.
11   * Associando l'oggetto ad un Button o AbstractButton, cattura l'evento d'azione
12   * per selezionare un tool in base al ActionCommand
13   * associato all'evento scatenato
14   * @author paolo
15   *
16   */
17  public class ActionCommandTool extends ToolManager implements ActionListener {
18  
19    /**
20     * costruttore.
21     * @param s
22     *            il sender associato a cui spedire i messaggi
23     */
24    public ActionCommandTool(final Sender s) {
25      super(s);
26    }
27  
28    /**
29     * costruttore.
30     * @param name
31     *            il nome del toolmanager (la stringa verrà scritta nel
32     *            messaggio come info)
33     * @param s
34     *            il sender associato a cui spedire i messaggi
35     */
36    public ActionCommandTool(final String name, final Sender s) {
37      super(name, s);
38    }
39  
40    /**
41     * Catturato l'evento, seleziona il tool.
42     * @param e evento catturato,
43     *                    tale evento deve aver specificato l'ActionCommand
44     *                    con l' id del tool da selezionare
45     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
46     */
47    public final void actionPerformed(final ActionEvent e) {
48      if (this.select(e.getActionCommand())) {
49        this.select();
50      }
51    }
52  
53    /**
54     * Metodo che si occupa di assegnare l'ActionListner ad un java.awt.Button e
55     * inizializzare l'ActionCommand.
56     * @param t tool da associare al bottone
57     * @param b il bottone da inizializzare
58     * @return il bottone inizializzato (non è necessario reperirlo)
59     */
60    public final java.awt.Button setupAction(final ToolInterface t,
61        final java.awt.Button b) {
62      this.register(t);
63      b.setActionCommand(t.getSelfId());
64      b.addActionListener(this);
65      return b;
66    }
67  
68    /**
69     * Metodo che si occupa di assegnare l'ActionListener
70     * ad un javax.swing.AbstractButton e
71     * inizializzare l'ActionCommand.
72     * @param t tool da associare al bottone
73     * @param b il bottone da inizializzare
74     * @return il bottone inizializzato (non è necessario reperirlo)
75     */
76    public final javax.swing.AbstractButton setupAction(final ToolInterface t,
77        final javax.swing.AbstractButton b) {
78      this.register(t);
79      b.setActionCommand(t.getSelfId());
80      b.addActionListener(this);
81      return b;
82    }
83  }