Há, em Java, a opção de atribuir o mesmo evento para vários botões ou componentes?
Exemplo: Quero limpar um campo texto, sempre que clicar em qualquer botão do menu.
Nesse caso, teria que atribuir em setText("") para cada evento dos botões, certo? Porém, gostaria de fazer algo parecido com o que vi em Delphi, onde basta fazer um evento e atribuí-lo a todos outros botões e componentes.
Tentei executar isso no NetBeans e não consegui. Há como fazer?
[Resolvido]Atribuir mesmo evento para vários botões
P
4 Respostas
Boa tarde!
Você deve criar um método para realizar tal ação, e chama-lo sempre que quiser que esta ação seja executada!
P
Sim Jonathan. Mas, dessa maneira, tenho que atribuir a chamada do método em todo ActionPerformed de cada componente.
Gostaria de apenas setar nas propriedades do método, um evento igual para evitar essas linhas de código, mas pelo o que pesquisei, não parece existir uma maneira de fazer isso.
1 like
Na verdade não se seta eventos nos componentes.
Você adiciona tratadores de evento para serem notificados quando os eventos são disparados.
Você pode instanciar um único tratador de eventos e registrar ele para todos os componentes:
private ActionListener tratadorEvento = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
metodoQueÉpraInvocar();
}
};
botao1.addActionListener(tratadorEvento);
botao2.addActionListener(tratadorEvento);
botao3.addActionListener(tratadorEvento);
botaoN.addActionListener(tratadorEvento);
P
1 like
Muito obrigado staroski! Ficou mais claro agora.
Criado 5 de dezembro de 2016
Ultima resposta 5 de dez. de 2016
Respostas 4
Participantes 3
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo