ActionListener

4 respostas
P

Olá!!!

Pessoal,

No livro que estudo JAVA vi algo parecido com isso:

[code]
botao.addActionListener (

new ActionListener () {

public void actionPerformed (ActionEvent event){

// Instruçoes
}
}
);

A dúvida é:

ActionListenet ñ é uma interface!?
E porque que está sendo usada dessa forma??

A classe ñ deveria implementá-la e daí escrever o método actionPerformed??

Elucidem-me, por favor!!!

:?:

4 Respostas

nadilsons

Este é um exemplo de inner class anonima… os seus usos mais comuns são em eventos (como o exemplo que vc postou)…

Foi exatamente isto que foi feito… perceba que existe um metodo actionPerformed que foi implementado (embora esteja vazio).

Espero ter ajudado…

Nadilson

francislon

Então cara, na declaração da classe que vc irá utilizar o metodo “actionPerformed”, ela deverá implementar a interface ActionListener:

public class TratandoAlgumEvento implements ActionListener{
            // sua implementação de metodos
             
           // aki vc terá de implementar o método actionPerformed
           public void actionPerformed(ActionEvent event)
           {
                 // implementação do metodo actionPerformed
            }
}
francislon

Só lembrando cara, como seu metodo actionPerformed recebe um ActionEvent, sua classe tem que importar a classe Event do pacote awt.

import java.awt.Event;
P

Então quer dizer que uma interface pode ser uma classe interna??

:?:

Criado 30 de março de 2007
Ultima resposta 30 de mar. de 2007
Respostas 4
Participantes 3