Observer e Observable

3 respostas
Hempx

Alguem pode me falar aonde é que estou errando...
Eu fiz um exemplo aqui resumido para vcs poderem me ajudar.

:arrow: Aqui a classe cujo qual eu queria saber quando for modificada algum atributo

public class Aluno extends Observable {
	private String nome;
	public Aluno(){
		nome = "";
	}
	public void setNome( String nome ){
		this.nome = nome;
		setChanged();
		notifyObservers();
	}
	
	public String getNome(){
		return nome;
	}
}

:arrow: Agora testando

public class TestAluno implements Observer {
	private Aluno aluno;
	
	public TestAluno(){
		aluno = new Aluno();		
	}
	
	public void fazNada(){
		aluno.setNome( "Sergio" );
	}
	
	public static void main( String[] args ){
		TestAluno  testAluno = new TestAluno();
		testAluno.fazNada();		
			
	}
	
	public void update( Observable obs, Object o ){
		JOptionPane.showMessageDialog( null, "aluno modificado" );
	}

}

3 Respostas

cv1

Faltou registrar TesteAluno como observador do Aluno. Sem isso, o notifyObservers() nao faz nada :smiley:

Hempx
"cv":
Faltou registrar TesteAluno como observador do Aluno. Sem isso, o notifyObservers() nao faz nada :D

o que que o cv naum sabe em???
hehe.... vlws :lol: :lol: :lol:

:arrow: Agora sim:
public class TestAluno implements Observer {
	private Aluno aluno;
	
	public TestAluno(){
		aluno = new Aluno();
		aluno.addObserver( this );		
	}
	
	public void fazNada(){
		aluno.setNome( "Sergio" );
		
	}
	
	public static void main( String[] args ){
		TestAluno  testAluno = new TestAluno();
		testAluno.fazNada();		
			
	}
	
	public void update( Observable obs, Object o ){
		JOptionPane.showMessageDialog( null, "aluno mudado" );
	}

}
cv1

Bom, eu ainda nao descobri como ficar milionario sem fazer mta força, e isso me irrita bastante. :smiley:

Mas, serio, essa resposta tava tao na ponta da lingua pq eu acabei caindo na mesma bobeira hoje a tarde :stuck_out_tongue:

Criado 5 de janeiro de 2004
Ultima resposta 5 de jan. de 2004
Respostas 3
Participantes 2