Padrão de projeto Observer

4 respostas
yoshikichi

Neste caso eu posso dizer que tenho o padrão Observer?
Se sim, teria dois observer (ActionListener)? isso?

public class ObserverSwing {
	
	private JFrame frame;

	ArrayList<ActionListener> arr= new ArrayList();
	
public void iniObserver(){
		frame = new JFrame();
		JButton b = new JButton("ola");
		
		ActionListener observer = new ActionListener(){
			
			public void actionPerformed(ActionEvent e){
				
				System.out.println("fui add "+1);	
				}
		};
		addAction(observer);
		addAction(new ActionListener(){
			
			public void actionPerformed(ActionEvent e){
				
				System.out.println("fui add "+2);	
				}
		});
		
		recupera(b);
		frame.getContentPane().add(b);
		frame.setVisible(true);
	}
	public void addAction(ActionListener a){
	
	arr.add(a);
	}
	public void recupera(JButton bu){
		for(ActionListener a: arr)
			bu.addActionListener(a);
	}
		public static void main(String[]args){
			new ObserverSwing().iniObserver();
		}
}

4 Respostas

ViniGodoy

Apesar da péssima organização geral do código, sim, você tem o padrão observer.
E, sim, com dois observadores.

yoshikichi

ViniGodoy:
Apesar da péssima organização geral do código, sim, você tem o padrão observer.
E, sim, com dois observadores.

É sei q ta mau organizado.
mas valew. agora compreendi o observer.

barbon

Não sei se ajuda, mas segue exemplo de aplicação com Design Pattern Observer:

http://www.patternizando.com.br/2011/03/design-pat...rver-com-aplicacao-swing-jse/

ViniGodoy

barbon:
Não sei se ajuda, mas segue exemplo de aplicação com Design Pattern Observer:

http://www.patternizando.com.br/2011/03/design-pat...rver-com-aplicacao-swing-jse/

Será que de 2008 para cá ele não descobriu o link? Não ressuscite tópicos.

Criado 4 de agosto de 2008
Ultima resposta 21 de mar. de 2011
Respostas 4
Participantes 3