Ahoj,
tak vyřešeno. Já postupoval podle několika příkladů na internetu a ony
nebyly úplně kompatibilní. Za vším stály ty beany jak správně odhadl
Filip J. (ještě jednou díky).
Problém byl v tom, že metoda firePropertyChange() v setterech měla být
volána z toho modelu (předka) a ne ze vlastní property.
Ta vlastním PropertyChangeSupport by asi také fungovala ale pak by zas
musel být addPropertyChangeListener() a nesměl být "extends Model".
Třeba to někomu pomůže.
Čili správně mělo být (varianta Model):
public class Faktura extends Model
{
private String cislo;
public String getCislo()
{
return cislo;
}
public void setCislo(String cislo)
{
String old = this.cislo;
this.cislo = cislo;
firePropertyChange( "cislo", old, cislo );
}
...atd...
}
S pozdravem,
Leoš
Leoš Urban píše v Čt 10. 05. 2007 v 08:14 +0200:
> Dobry den,
>
> moje beany extenduji com.jgoodies.binding.beans.Model coz by melo byt v
> poradku, kousek prikladam.
>
> Pridat addPropertyChangeListener() tam ostatne ani nejde protoze v tom
> Jgoodies Model jsou umyslne "final".
>
> Diky,
> Leos Urban
>
> public class Faktura extends Model
> {
> private PropertyChangeSupport zmena = new PropertyChangeSupport(this);
> private String cislo;
> public String getCislo()
> {
> return cislo;
> }
> public void setCislo(String cislo)
> {
> String old = this.cislo;
> this.cislo = cislo;
> zmena.firePropertyChange( "cislo", old, cislo );
> }
> ...atd...
> }
>
> Filip Jirsák píše v Čt 10. 05. 2007 v 08:02 +0200:
> > JGoodies Binding podle mne předpokládá, že javabean implementuje
> > metody informující o změně hodnoty – addPropertyChangeListener(). Měl
> > by se tedy o změně hodnoty dozvědět z příslušné události. Podívejte se
> > ve zdrojácích binding do src/tutorial, jak vypadají "vzorové"
> > javabeany.
> >
> > Filip Jirsák
>
>