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

2007/5/10, Leoš Urban <[EMAIL PROTECTED]>:
Ahoj,
mam dotaz tykajici se JGoodies.

Mam PresentationModel pro javabean FakturaHlavicka.

selectionInListMaster = new SelectionInList(seznamFaktur);
pmFaktura = new PresentationModel( selectionInListMaster );

Z nej je bindovan JTextField fldCisloDokladu.

Bindings.bind( fldCisloDokladu, pmFaktura.getModel("cislo"));

Vsechno perfektne funguje.

Jenze ja potrebuji zmenit hodnotu "cislo" programove:

pmFaktura.setValue("cislo", "XXXXXX" );
  nebo pripadne
int poradi = selectionInListMaster.getSelectionIndex();
Faktura o = (Faktura) selectionInListMaster.getElementAt(poradi);
o.setCislo("XXXXXX");

kdyz to udelam, tak se mi sice zmeni ta hodnota v prislusnem objektu ale
zmena se neprojevi v JTextFieldu (zmeni se az kdyz preskocim na dalsi
zaznam a vratim se zpet).

Vselijake pokusy donutit "refresh" polozek nepomahaji:
selectionInListMaster.fireSelectedContentsChanged();
selectionInListMaster.fireContentsChanged(poradi,poradi);

Jedine co mi funguje je:
fldCisloDokladu.setText( "XXXXX" )
Jenze to v podstate supluji funkci toho modelu a nejsem si jist ze je to
spravny postup. Krome toho, pokud bych menil misto jednoducheho textu
treba atribut typu Firma "odberatel" tak bych musel udelat oboje - jak
podsunout objekt tak zmenit rucne hodnoty. Jinak bych si pod rukama
zmenil vlastnosti puvodniho objektu misto objektu sameho.

Prosim poradte.

Dekuji,
Leos





--
Filip Jirsák
[EMAIL PROTECTED]

Odpovedet emailem