In mijn model voer ik een for lus uit. Bij elke herhaling van de lus wil ik de view updaten.
de addObserver aanroep gebeurt in de superklasse. In de controller zit de button die de doeVaak methode aanroept. Probleem is nu dat bij klikken op de button gedurende de lus " down" blijft en de view niet geupdate wordt. Ook een Thread.sleep heeft hier geen invloed op.
Enig idee hoe ik dit probleem op kan lossen?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public class Model extends Observable{ public void doeVaak(){ for(int step = 1; step <= 1000000; step++) { waarde++; if (waarde>6) waarde=1; setChanged(); notifyObservers(); } } } public class View extends JPanel implements Observer { public void update(Observable obs, Object arg){ d = (Model) obs; waarde = d.getWaarde(); repaint(); } } |
de addObserver aanroep gebeurt in de superklasse. In de controller zit de button die de doeVaak methode aanroept. Probleem is nu dat bij klikken op de button gedurende de lus " down" blijft en de view niet geupdate wordt. Ook een Thread.sleep heeft hier geen invloed op.
Enig idee hoe ik dit probleem op kan lossen?
[ Voor 3% gewijzigd door akooi op 03-06-2006 14:14 ]