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.
roční PŘEDPLATNÉ
1 082 Kč
měsíčně, placeno ročně (12 984 Kč)14 000+ lekcí, cvičení a testů
6 000+ ti zůstane napořád
Neomezený přístup ke všem aktuálním
i připravovaným kurzům.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
1 000 Kč
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- 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í.