Declarar eventos em classes separadas

2 respostas
M

Olá Pessoal! Estou urgentemente precisando de ajuda! Criai uma interface gráfica que dispões de diversos botões. Porém, não quero declarar os milhares de eventos na classe onde crio os botões. Por isso, gostaria de colocar todos os eventos em uma classe separada. Porém, não sei nem por onde começar. Peço, para quem tiver a caridade, mandar-me exemplos de como fazer isso, bem como a chamada que devo efetuar no algoritmo principal. Desde já, agradecido.

PS: Não adianta ser um evento para o tipo JButton, outro para o JCheckBox. Preciso declarar um evento para cada botão.

2 Respostas

T

Usualmente você cria a tal classe que tem os eventos (por exemplo, public void btn001_action() { … } , public btn002_action() { … }) e na classe que define os botões, menus etc. você cria os listeners (por exemplo,
btn001.addActionListener (new ActionListener() { public void actionPerformed (Event evt) { obj.btn001_action(); } });
e assim por diante, onde “obj” é um objeto da classe que trata os eventos.

S

Estou passando pelo mesmo problema que você citou, pois na minha aplicação as interfaces gráficas tratam uma série de eventos. A equipe chegou ao seguinte padrão de desenvolvimento para esses casos.

Para cada classe de interface gráfica criamos uma classe para executar o processamento dos eventos.
Na classe que define a interface gráfica os eventos são chamados pelo padrão do Netbeans (classes internas).
Cada classe de interface gráfica possui uma instância do seu objeto processador de eventos, assim na chamada do evento basta chamar o método que processo o evento em questão.

Dessa forma conseguimos diminuir a complexidade de manutenção nestas classes pois estamos adotando um modelo de duas camadas para implementar a iteratividade das interfaces gráficas.

Atts

Criado 18 de junho de 2008
Ultima resposta 24 de jun. de 2008
Respostas 2
Participantes 3