Lekce 10 – Swing – MVC, binding
Repository s příklady k lekci: j1-lekce10
Osnova
- architektura MVC – Model, View, Controller
- návrhový vzor Pozorovatel/Observable – oznamování změn properties (Extended)PropertyChangeSupport
- binding – propojení modelu a view
- pomocné třídy
FormBuilder
aActionBuilder
- konstanty
Dokumentace
Cvičení
- Forkni a naklonuj si repository j1-lekce10.
- Vyzkoušej, že ti jde aplikace spustit.
- V
KontaktyController
implementuj metoduvypoctiStavAkci
tak, aby tlačítko „Uložit“ bylo povolení jen tehdy, když je vyplněné jméno, příjmení a datum narození. - V
OsobaBean
implementuje propertypohlavi
typuString
. Bude do ní možné uložit hodnotu např. „žena„ nebo „muž“. - V
OsobaBean
implementuje propertydospely
typuBoolean
, která bude pouze pro čtení. Bude se nastavovat podle data narození resp. věku v metoděvypocitVek
. Když není zadané datum narození, hodnota budenull
. - V
KontaktyController
přidej konstantuPOHLAVI
, která bude obsahovatList
prvků typuString
. Do seznamu zadj alespoň hodoty „muž“ a „žena“. Seznam bude sloužit pro výběr pohlaví uživatelem, výsledek se uloží do propertypohlavi
vOsobaBean
. - Do formuláře
HlavniOkno
přidej nad tlačítka novou komponentu – combobox, který bude obsahovta výběr pohlaví ze seznamuKontaktyController.POHLAVI
. Komponenta bude propojená (bind) s propertypohlavi
. Před komponentou bude vhodný label. - Do formuláře
HlavniOkno
přidej vedle comboboxu pro pohlaví nový checkbox s vhodným popiskem, který bude napojen na propertydospely
. Checkbox bude pouze pro čtení. K checkboxu se nebude přidávat samostatný label – popisek je součástí checkboxu. -
Úkol
Z této lekce je 7. domácí úkol.