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]
---------------------------------------------------------------------