Goeiedag,
Ik ben sinds kort bezig met Data Binding in Java. Ik gebruik liever geen Data Binding framework zoals Eclipse Data Binding of JGoodies, maar ik doe het liever manueel (hoewel dat dit voor mijn vraag, volgens mij, niets uit maakt).
Voor een methode in mijn data-object die gewoon een enkele property verandert is de code die ik moet plaatsen om een property-change event te genereren simpel:
Deze code is dus correct.
Maar als er een verzameling van object veranderd wordt, dan kan ik dat niet meer op deze manier doen:
In bovenstaande code zou (oldValue == FooCollection), dus de property change zou niet uitgevoerd worden.
Hoe moet ik dit oplossen? Waarschijnlijk bestaat hiervoor een totaal andere constructie, maar ik vind maar niet hoe het moet.
Alvast erg bedankt!
Ik ben sinds kort bezig met Data Binding in Java. Ik gebruik liever geen Data Binding framework zoals Eclipse Data Binding of JGoodies, maar ik doe het liever manueel (hoewel dat dit voor mijn vraag, volgens mij, niets uit maakt).
Voor een methode in mijn data-object die gewoon een enkele property verandert is de code die ik moet plaatsen om een property-change event te genereren simpel:
Java:
1
2
3
4
5
6
| public void setFoo(int foo) { int oldValue = getFoo; this.foo = foo; firePropertyChange("foo", oldValue, foo); } |
Deze code is dus correct.
Maar als er een verzameling van object veranderd wordt, dan kan ik dat niet meer op deze manier doen:
Java:
1
2
3
4
5
6
7
8
| HashSet<Foo> FooCollection = new HashSet<Foo>(); public void addFoo(Foo foo) { int oldValue = FooCollection; FooCollection.add(foo); firePropertyChange("foo", oldValue, FooCollection); } |
In bovenstaande code zou (oldValue == FooCollection), dus de property change zou niet uitgevoerd worden.
Hoe moet ik dit oplossen? Waarschijnlijk bestaat hiervoor een totaal andere constructie, maar ik vind maar niet hoe het moet.
Alvast erg bedankt!