8. praktikum. Harjutused
NB! Praktikumiülesandeid antakse alati varuga, et ka kõige kiirematel/kogenumatel lahendajatel jätkuks tegevust. Seega pole mõtet kurvastada, kui te ei jõua kõiki lahendada. Vaadake ülesanded rahulikult üle ja lahendage ära just need, mis tunduvad teile huvitavad ja/või parajalt jõukohased/väljakutsuvad (kui just teie praktikumijuhendaja pole teile soovitanud mingit konkreetset ülesannet).
1. Hiire asukoht
Kirjutada programm, mis näitab hiire asukohta hetkel, kui vajutatakse hiire nupule. Teade peab olema samas kohas, kus hiir parajasti on. Kui hiire nupp vabastatakse, siis teade koordinaatidega kaob.
Tulemuse näide:
![](https://courses.cs.ut.ee/2022/OOPso/spring/Main/Practice8Harjutused?action=download&upname=har8.png)
2. Kalkulaator
Kasutades eelmises praktikumis loodud kalkulaatori akent ja lisades sündmuste töötlemise, kirjutada kalkulaatori programm. Kõik nupud peavad töötama.
Tulemuse näide:
![](https://courses.cs.ut.ee/2022/OOPso/spring/Main/Practice8Harjutused?action=download&upname=har7_3.png)
3. Lipp
Täiendada 7. praktikumi 2. ülesannet (lipu joonistamine) nii, et hiirega akna mõõtmete muutmisel muutuks lipu suurus vastavalt.
Tulemuse näide:
![](https://courses.cs.ut.ee/2022/OOPso/spring/Main/Practice8Harjutused?action=download&upname=har8_2.png)
Vihje:
Kuna akna suuruse muutmise jaoks eraldi sündmust pole, siis tuleb kasutada "muutuste kuularit" pealava omaduste jaoks (widthProperty
ja heightProperty
). Saame lõuendi joonistamiseks luua uue meetodi, ning kutsuda seda välja kui akna suurust on muudetud. Uue suuruse lõuendile saame kas pealava kaudu või siis sidudes pealava suuruse lõuendi suurusega. Seda saab teha kasutades meetodit bind
(nt. lõuend.widthProperty().bind(peaLava.widthProperty());
). Täiendav info
.