ActionListener

Olá!!!

Pessoal,

No livro que estudo JAVA vi algo parecido com isso:

[code]
botao.addActionListener (

    [b]new[/b] ActionListener () {

            public void actionPerformed (ActionEvent event){
           
                 [i]// Instruçoes[/i]
             }
        }

);

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!!!

:?:

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

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
            }
}

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;

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

:?: