Aloha…
Eu estou usando o padrão command e estou a aplicar o seguinte:
numa classe… eu tenho um tipo que extends AbstractAction que é basicamente o seguinte…
public class RemoveSelected extends AbstractAction {
PointersBridge _pb;
public RemoveSelected(PointersBridge pb) {
super("Remove");
_pb =pb;
}
public void actionPerformed(ActionEvent e) {
_pb.removeSelected();
}
}
Do outro lado eu tenho um Menu… que crio da seguinte forma…
public void makeMenu(Action[] ac, PointersBridge pb) {
GridLayout gl = new GridLayout(2, 1);
JPanel panelMenus = new JPanel(gl);
JMenuBar menuBar = new JMenuBar();
JMenu editMenu = new JMenu("Edit");
for (Action action : ac) {
JMenuItem mi = new JMenuItem(action);
editMenu.add(mi);
}
menuBar.add(editMenu);
panelMenus.add(menuBar);
panelMenus.add(_pb.getPadToolBar());
addMenus(panelMenus);
addPadDraw(pb.getPadDraw());
pack();
}
Até aqui tudo bem… n há problema nenhum… mas agora eu quero adicionar o command Undo e Redo, mas quero que fiquem não no separador File, mas no Edit… como eu posso dar instrução a partir da classe que implementa AbstractAction para quando eu fôr receber os arrays de Actions do outro lado saber qual o tipo que fica em qual separador ?
Espero ter-me explicado bem…
A finalidade é poder inserir comandos sem ter que mexer em mais nada… apenas adicionar o comando .
obrigada