21. november 2001 - 11:04Der er
7 kommentarer og 1 løsning
Observer og GUI
Er der nogen der ved hvor der er noget source med at der er en klasse med gui som implements Observable og en anden klasse der extends Observer....Således at der er noget på flere GUI skærme der bliver opdateret når man kalder notifyObservers()....
Her er noget.. GuiObserver er den som implementerer Observer, mens ObserverSubject er den, som extender Observable (Og har main)
public class GuiObserver implements Observer { private JLabel label; private int counter=0; /** Creates new GuiObserver */ public GuiObserver(String name) { JFrame f = new JFrame(name); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); label = new JLabel(\"Counting \" + counter); f.getContentPane().add(label); f.pack(); f.setLocation((int)(Math.random()*400), 0); f.setVisible(true); }
public void update(Observable observable, Object arg) { // Ups, notified. Lets update the label: label.setText(\"Counting \" + counter++); }
}
public class ObserverSubject extends Observable { public void doIt() { setChanged(); notifyObservers(); } public static void main (String args[]) { ObserverSubject os = new ObserverSubject(); os.addObserver(new GuiObserver(\"Observer 1\")); os.addObserver(new GuiObserver(\"Observer 2\"));
for (int i = 0 ; i < 10 ; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) {} os.doIt(); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.