Eventos

aí pessoal, me ajudem a entender uma coisa por favor.

Primeiro: tive que criar uma classe implementando o ActionListener para poder para poder utilizar do evento quando clicado no botão.

[code]public class Biblioteca implements ActionListener {

jbMetal.addActionListener(this);[/code]

Mas o problema está sendo que eu quero colocar também eventos de mouse, e bem , assim realmente é complicado, pois achei dessa maneira:

final JList lista = new JList(arrayDeDados); MouseListener mouseListener = new MouseAdapter() { public void mouseClicked(MouseEvent event) { if (event.getClickCount() == 2) { int index = lista.locationToIndex(event.getPoint()); System.out.println("Double clicked on Item " + index); } } }; lista.addMouseListener(mouseListener);

Mas ai eu teria que incrementar o método do mouseEvent já na declaração do mouseListener.

Teria como fazer o ActionListener e o MouseListener sem ter de fazer o implements? E como ficaria no addActionListener()?

Obrigado.

Isso?

[code]componente.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent mevt){

}
});

componente.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

}
});[/code]

Só como informação, esse recurso chama-se classes anonimas, procure sobre isso, é interessante, não é especifico de Listeners, só não saia usando pra tudo… :wink:

Olha, sim, sei como é que vc quis dizer, mas não é bem assim que eu quero (se tem como eu quero)

Sei que dessa forma não tem como, mas é ± assim, e me fale porque assim tmb não pode

[code]ActionListener acao = new ActionListener();

componente.addActionListener(acao);

public void actionPerformed(ActionEvent evt){

} [/code]

Se puder me explicar isso eu agradeço.

Você não pode instanciar uma Interface nem uma classe Abstrata, você tem que implementar o metodo de ActionListener…

Ou você implementa a interface na propria classe como você já tinha feito antes, ou você cria uma classe interna pra isso, como eu fiz no exemplo.

Dê uma olhada melhor em orientação a objetos.