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 }