O que é LISTENER?

Alguém poderia me explicar o que vem a ser um LISTENER ???

Um listener é normalmente implementado em forma de interface.

Ele serve para escutar o que acontece em um objeto e avisar a outro.

Exemplo:

Eu tenho um sistema que vc tuna carro.

Ai quando vc altera o carro.cor vc tem que avisar a parte gráfica do programa pra ela trocar a cor do carro na tela

Então o carro pode ter um espaço para vc colocar um ouvido (listener) da tela nele

então

na tela ao criar o carro:

[code]Carro carro = new Carro(Color.white);
carro.addColorChangeListener(new ColorChangeListener(){

colorChanged(ColorChangeEvent e)

{

    panelCarro.setColor(e.getNewColor);

[/code]

e no objeto no setColor, vc chama esse evento

setColor(Color color) { Color oldColor = this.color; this.color = color; fireColorChangeListener(oldColor, color);

Desculpe a falta de fechar as tags mas meu teclado ta falhando e robaram meu mouse :confused:

Mas essa é a ideia, ai quando vc muda o objeto a tela muda “sozinha”, ou “é avisada” sobre o que acontece em outro lugar

1 curtida

traduzindo rusticamente, é um “ouvinte”

exemplo: se eu tenho um botão e nele adiciono um actionListener, ele ganha a capacidade de “escutar por uma ação”

ou seja…

ja tenho um botão criado, aqui eu adiciono o ActionListener nele…

botao.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Aqui ocorre o evento quando o botão recebeu a ação } });

de uma olhada aqui: http://download.oracle.com/javase/tutorial/uiswing/events/index.html

É o nome que o java deu para a interface “Observer” do padrão de projetos Observer.

Imagine o Listener com alguém sempre atento. Um vigia de uma loja por exemplo. Ele vai agir caso seja estimulado para isso, um assalto por exemplo.

Um Listener é um “cara” sempre atento, qualquer modificação ele é notificado e irá entrar em ação.