bom, é o seguinte: estou engatinhando em java, e atualmente estou
trabalhando muito com swing… quando insiro um botão na interface,
sempre atrelo a ele um ActionListener… e para cada botão, estou criando
uma nova classe que implementa ActionListener que tem que ter um
método actionPerformed
será que não existe um método melhor para fazer isso sem precisar criar
uma nova classe para cada ActionListener que eu quero adicionar ?
Você pode adicionar um tratador de eventos para cada botão com o método addActionListener e implementar o método actionPerformed, sem precisar criar uma classe para cada botão.
ActionListener eh uma interface, logo voce precisa fazer a implementacao.
Ha os chamados “Adapters”, como o MouseAdapter, que eh uma classe comum, que implementa um determinado listener, deixando os corpos dos pacotes em branco. Assim, voce apenas sobrescreve os metodos necssarios, ao inves de implementar tudo quando usa interfaces.
Voce nao tem como escapar disso. O que vc pode fazer eh tentar reulizar listeners, ou seja, fazer algum mais “alto-nivel”, “injetando” as coisas especifcas de cada implementacao nele ( apenas uma ideia, nao sei se vale a pena ).