[RESOLVIDO] Duvida sobre OO - Toolbar Generico

7 respostas
G

Ola ;

Coloquei uma TOOBAR com botoes INCLUI, ALTERA , EXCLUI , PESQUISA , ETC num JAR de Funcoes Genericas;

Esta Toolbar vou usar em TODOS meus JFRAME ( serão muitos )

Minha Duvida é :
[b]Como posso CUSTOMIZAR o ActionPerformed de cada Botão de Cada Form ???

O procedimento de INCLUSAO , ALTERACAO , EXCLUSÃO entre CLIENTES, FORNECEDORES , PRODUTOS ,etc será diferente 

Quando o USUARIO clicar num botao INCLUI de UM JFRAME especifico , neste mesmo JFRAME terei um METÓDO próprio para o mesmo

Terei de fazer um OVERRIDE para reescrever ? Criar uma INTEFACE para implementar ???

[/b]

Agradeco que puder me dar uma luz ;

7 Respostas

marvinla

Olá Gabriel.

Uma idéia seria você criar uma interface com os comportamentos que você precisa (incluir, alterar, etc) e fazer com que seus JFrames implementem essa interface. Sempre que uma janela se tornar ativa, você passa essa janela (que implementa a interface) para seu toolbar. O toolbar por usa vez irá delegar as ações para o frame que você passou.

Abraços

G

Ola Marvinia;

Tentei fazer isto mas nada resultou.

Criei uma interface com INCLUI(), ALTERA(), EXCLUI()

Na toolbar qdo o botao eh acionado execluta a funcao inclui.

No JFRAME onde instanciei a TOOLBAR implementei os metodos abstratos , mas quando o Botao INCLUI ,p.ex, eh acionado ele ignora a implementacao.

Tentei tb fazer via OVERRIDE mas da mesma forma a customização é IGNORADA.

Certamente devo estar fazendo algo errado, pois qdo o botao é acionado ele deve DESVIAR para o metodo Customizado mas não está fazendo

FernandoFranzini

Da para fazer sim com um milhão de formas diferentes.
Pelo contexto que vc citou, na minha opinião se encaixa perfeitamente no padrão - TEMPLATE METHOD.
Bons estudos :smiley:

G

Como faco para o ToolBar delegar as acoes ?

FernandoFranzini

Polimorfismo.

C

gabriel hilbig:
Ola Marvinia;

Tentei fazer isto mas nada resultou.

Criei uma interface com INCLUI(), ALTERA(), EXCLUI()

Na toolbar qdo o botao eh acionado execluta a funcao inclui.

No JFRAME onde instanciei a TOOLBAR implementei os metodos abstratos , mas quando o Botao INCLUI ,p.ex, eh acionado ele ignora a implementacao.

Tentei tb fazer via OVERRIDE mas da mesma forma a customização é IGNORADA.

Certamente devo estar fazendo algo errado, pois qdo o botao é acionado ele deve DESVIAR para o metodo Customizado mas não está fazendo

pelo que eu entendi.a sua interface com esses metodos nao implememtam a interface actionlister.

acho que uma solução simples que voce pode usar seria na sua JFrame cliente por exemplo. implementar essa interface que voce criou e a actionLister e para cada um dos metodos cujo comportamento deve ser diferente deles implemetar com uma interface local de metodo da seguinte forma

incluir(){
            botao.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
// comportamento desejado
                   }
            });
}

e depois para os comportamentos iguais crie uma classe que implementa essa interface e faça a sua JFrame herdar essa nova classe.

Se nao ter certo poste seu codigo aqui.

G

Obrigado COMPUTACAO1 ;

Sua dica fez a diferenca;

SOLUCAO QUE IMPLEMENTEI :
[list]Criei uma INTERFACE com a declaracao de Métodos : INC, ALT, EXC, GRAVA, etc[/list]
[list]No JFRAME PAI implemento CUSTOMIZADAMENTE cada método[/list]
[list]Quando INSTANCIO a TOOLBAR mando como parametro a JFRAME[/list]
[list]Dentro da TOOLBAR , via REFLECT, acesso os metodos customizaods e [/list]

Criado 23 de maio de 2011
Ultima resposta 24 de mai. de 2011
Respostas 7
Participantes 4