Orientacao a Objetos, Padrão Observer

0 respostas
psicoppardo

Olá pessoal, venho até vcs para que me ajudem a entender esse padrão ao qual estou estudando através da API Observer/Observable.

Bem, eu tenho duas Janela Swing A e B

as quais faço o controle para abrir a janela B com o Observer:

Janela B
@Override
    public void update(Observable o, Object arg) {
        aberto = (Boolean) arg;
        this.setVisible(aberto);
    }
Com a janela A passo esse comando no evento do Botao Abrir Janela B.
ce.setAberto(true);
garanto a abertura da mesma instância através da classe ControleEventos
*/
package exercicioObserverSwing3;

import java.util.Observable;

/**
 *
 * @author josepedrodeoliveirajunior
 */
public class ControleEventos extends Observable{
    private Boolean aberto;

    
    public void setAberto(Boolean aberto) {
        this.aberto = aberto;
        setChanged();
        notifyObservers(new Boolean(aberto));
    }

    void addObserver(ControleEventos cEventos) {
        this.addObserver(cEventos);
    }
}

Meu código funciona perfeitamente, mas me veio algumas dúvidas a mente:

1.Eu sempre terei que adicionar observadores através da classe Main ou posso adicioná-los nas classes swing?

2. como fica o metodo update com vários eventos?

3. Seria melhor eu implementar minha interface Observer e classes de Observadores Concretos ou posso usar API do java mesmo?

Obrigado a todos.

Criado 1 de fevereiro de 2013
Respostas 0
Participantes 1