[Resolvido]Atribuir mesmo evento para vários botões

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?

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!

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.

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);
1 curtida

Muito obrigado staroski! Ficou mais claro agora.

1 curtida