Zdravím, to je jakási prapodivná nedotaženost standardu. Třeba JGoodies Binding proto má interface com.jgoodies.binding.beans.Observable, který má tyto dvě metody:
void addPropertyChangeListener(PropertyChangeListener listener) void removePropertyChangeListener(PropertyChangeListener listener) Může se pak použít pro kontrolu v době kompilace (JGoodies Bnding funguje i bez toho, že by Java Bean toto rozhraní implementoval -- používá reflexi, jako každý jiný kód, který registruje posluchače k obecným JavaBeanům). Podobně by mohlo existovat rozhraní třeba NamedObserver, které by implementovalo příslušné metody s variantou registrace posluchače k jedné property. Proč takováhle dvě rozhraní nejsou součástí JDK resp. standardu JavaBeans, je pro mne taky záhadou, ale nezbývá, než to přijmout jako fakt (a věřit, že až se do Javy přidá nějaká *rozumná* podpora pro properties, bude součástí i nějaký takový interface). S pozdravem Filip Jirsák Dne 26. květen 2009 12:12 Tomas Hubalek <[email protected]> napsal(a): > Zdar, > > stale mi vrta hlavou jedna vlastnosti javabeanu. Kdyz chci mit nejakou bound > property musim (podle tutorialu Sunu) udelat tyto veci: > > 1. Import the java.beans package. This gives you access to the > PropertyChangeSupport class. > 2. Instantiate a PropertyChangeSupport object. This object maintains the > property change listener list and fires property change events. You can also > make your class a PropertyChangeSupport subclass. > 3. Implement methods to maintain the property change listener list. Since > a PropertyChangeSupport subclass implements these methods, you merely wrap > calls to the property-change support object's methods. > 4. Modify a property's set method to fire a property change event when > the property is changed. > > Vsechno chapu, jedine co mi neni jasne je, proc neexistuje ve standardu > nejaky takovyto interface: > > public interface BeanWithBoundProperties { > void addPropertyChangeListener(PropertyChangeListener listener); > void removePropertyChangeListener(PropertyChangeListener listener); > } > > Nejpodobnejsi tomuto je interface java.beans.Customizer, ale ten se mi zda > ze je pro jiny ucel. > > Jak potom nastroje, ktere dostanou obycejny Java Bean, mohou zjistit ze bean > ma bound properties? Pres Reflection? To mi prijde ohavne. > > Diky za jakekoliv komentare (i takove ze jsem nekde neco prehledl jsou pro > me cenne). > Tom >
