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
[code] */
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);
}
}[/code]
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?
-
como fica o metodo update com vários eventos?
-
Seria melhor eu implementar minha interface Observer e classes de Observadores Concretos ou posso usar API do java mesmo?
Obrigado a todos.