Lekce 13 - Task v JavaFX
V předchozím kvízu, Kvíz - Kreslení na Pane a Timer v JavaFX, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V dnešním JavaFX tutoriálu se naučíme používat třídu
Task
, která slouží ke spuštění operace na pozadí.
Třída Task
pracuje na samostatném vlákně,
odděleném od vlákna, které se stará o obnovu formuláře. To se nám může
hodit, pokud budeme provádět na pozadí nějaké náročné úkoly. Pak
komponentě Task
předáme metodu, kterou má spustit. Třída
Task
vyvolá událost a my na to můžeme nějak
reagovat. Třída také umožňuje jednoduše zobrazovat
ProgressBar
se zobrazením postupu úkolu.
Ukázkový příklad
Zkusme si jednoduchý příklad. Uživatel stiskne tlačítko a aplikace vykoná operaci, která trvá 10 vteřin. Operaci budeme simulovat jednoduchým uspáním vlákna. Simulujeme tak např. nějaké náročné výpočty, stažení velkého souboru a podobně, což vyvolá zaseknutí metody, stejně jako uspání.
Založme si nový FXML
projekt s názvem Task
, v
něm na formulář přidáme:
- 1x
ProgressBar
, - 1x
Button
, - 1x
Label
.
Progressbar
slouží k znázornění části, která je již
vykonaná. Pojmenujeme ho operaceProgressBar
. Tlačítko
pojmenujeme spustitButton
s textem Spustit
a akcí
spustitButtonClicked()
. Label pojmenujeme labelOperace
a zadáme mu text Nespuštěno
.
Formulář by měl vypadat takto:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V JavaFX tutoriálu si představíme třídu Task, která slouží ke spuštění operace na pozadí.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.