Ik heb het volgende stuk code voor een Observable.
Voor de aanroep probeer ik het volgende:
Wat ik wil bereiken is dat ik in de observable de kleur wijzig (in dit geval in 1) en dat hij dan iets gaat doen met die knoppen. Maar goed, zover ben ik nog niet, zover KOMT ie namelijk niet. Wat het probleem is dat obTmp.notifyObservers wel werkt (hij geeft de kleur aan die hij aan moet geven). Alleen obTmp.setColor geeft als error:
Ik ben nog maar net begonnen met het gebruik van innerclasses, dus misschien heb ik het principe nog niet goed in het snotje, maar ik kan volgens mij die methode met de neus aanwijzen.
Iemand een idee wat voor kapitale fout ik hier hoogstwaarschijnlijk maak?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Observable obTmp= new Observable() {
public int color;
public void setColor(int c) {
color = c;
super.setChanged();
}
public void notifyObservers(Object arg) {
if(arg.equals(jButton1))
System.out.println("Rood");
if(arg.equals(jButton2))
System.out.println("Oranje");
if(arg.equals(jButton3))
System.out.println("Groen");
}
}; |
Voor de aanroep probeer ik het volgende:
code:
1
2
3
4
| void jButton1_actionPerformed(ActionEvent e) {
obTmp.notifyObservers(e.getSource());
obTmp.setColor(1);
} |
Wat ik wil bereiken is dat ik in de observable de kleur wijzig (in dit geval in 1) en dat hij dan iets gaat doen met die knoppen. Maar goed, zover ben ik nog niet, zover KOMT ie namelijk niet. Wat het probleem is dat obTmp.notifyObservers wel werkt (hij geeft de kleur aan die hij aan moet geven). Alleen obTmp.setColor geeft als error:
code:
1
| "ObFrame.java": Error #: 300 : method setColor(int) not found in class java.util.Observable at line 106, column 11 |
Ik ben nog maar net begonnen met het gebruik van innerclasses, dus misschien heb ik het principe nog niet goed in het snotje, maar ik kan volgens mij die methode met de neus aanwijzen.
Iemand een idee wat voor kapitale fout ik hier hoogstwaarschijnlijk maak?