Uma dúvida básica quanto aos listeners…
Tenho uma classe controladora (implements MouseListener) e uma classe GUI (extends JPanel). O que é mais usual e aconselhado?
1–> Na classe controladora:panel.addMouseListener(this);
ou
2–> Na classe GUI:this.addMouseListener(controller);
e aí cara, tudo bem?? Isso depende muito. Se você possuir muitos eventos em uma só janela, fica mais difícil você verificar onde ocorreu um evento usando um só método. Usando o addActionListener(this), voce teria que fazer toda hora (caso haver varios ActionEvent na janela)
if(event.getSource() == botaoAzul)
//faz um monte de coisa
if(event.getSource() == botaoAmarelo)
//faz um monte de outras coisas
Caso você tenha um caso assim, talvez seja mais interessante separar os eventos diferentes em classes.
Se é apenas um evento, não há problema em deixar na mesma classe.
Espero ter ajudado! Abraços!
sergio_ferraz
O que o Douglas falou faz sentido. Você poderia seguir um padrão conhecido como MVP(Model View Presenter), ele desacopla a view da lógica de apresentação(Presenter). Você poderia definir cada listener em uma classe separada, a depender da complexidade. O presenter, por sua vez ficaria
escutando a view(separada por uma interface) e atuaria sobre ela e a camada de acesso a dados.