Estou tentando utilizar a classe AbstractAction para facilitar a cria��o de
op��es em menus e toolbars. Entretanto estou encontrando problemas por um
comportamento diferente adotado pelo menu e pela JToolbar (considere toda a
mensagem referente �s classes do Swing).

Tenho uma classe MyClass que extende AbstractAction implementando o m�todo
actionPerformed. Quando instancio esta classe, adiciono � lista de
propriedades dois novos valores:

obj.putValue(Action.SHORT_DESCRIPTION, "Short Description");
obj.putValue(Action.ACTION_COMMAND_KEY, "MyCommand");

Isso deveria (pelo que entendo) fazer com que o bot�o, na barra de
ferramentas, apresentasse o texto "Short Description" como tooltip e
passasse "MyCommand" como comando ao evento de a��o (ActionEvent).
Embora o tooltip est� correto, n�o consigo fazer com que "MyCommand" seja
passado no evento como comando da a��o. Tanto no Menu quanto na Toolbar o
comando que especifico � ignorado e apenas o label da op��o de menu �
utilizado como actionCommand (isso quando a a��o � tomada pelo menu - se for
pela toolbar � null)....

Acho que ficou meio complexo, n� ??

Resumindo...

Extendi uma classe de AbstractAction

public class MyClass extends AbstractAction {
    public void actionPerformed(ActionEvent e) {
        System.out.println("Comando: " + e.getActionPerformed());
    }
}

Criei uma inst�ncia e atualizei a lista de propriedades:

MyClass myAction = new MyClass();
myAction.putValue(Action.SHORT_DESCRIPTION, "Short Desc");
myAction.putValue(Action.ACTION_COMMAND_KEY, "MyCommand");

Criei os componentes de tela:

JMenu menu = new JMenu("Menu");
menu.add(myAction);

JToolbar barra = new JToolbar();
barra.add(myAction);


Quando eu clicasse no menu ou no bot�o da barra, deveria ser invocado o
m�todo actionPerformed. Isso, de fato � feito mas o getActionCommand n�o
retorna "MyCommand"...
Segundo o que entendi da documenta��o o processo (apesar de pouco comum,
pelo menos sob o meu ponto de vista) est� correto.

Aguardo retorno e agrade�o desde j�

Atenciosamente

Flavio Eduardo de C�rdova
Datasul Technology
Sun Certified Java Programmer

PS.: A mesma mensagem foi encaminhada ao F�rum

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a