Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 11 - Timer a SwingWorker v Java Swing

V minulém dílu, Zpracování kliknutí na souřadnice v Java Swing, jsme dokončili aplikaci, která vykreslovala geometrické tvary na poděděný JPanel.

Dnes se naučíme používat Timer a SwingWorker. Oba ovládací prvky si vyzkoušíme na názorných příkladech.

Smyčka formulářové aplikace

Pokud si vzpomínáte na zdejší Java tutoriály pro konzoli, tak pokud jsme chtěli něco opakovat, jednoduše jsme kód vložili do cyklu. Pokud jsme chtěli odpočítat 10 vteřin, kód by vypadal asi takto:

for (int i = 10; i > 0; i--)
{
 System.out.println(i);
 try {
  Thread.sleep(1000);
 } catch (InterruptedException ex) {
  Logger.getLogger(OdpocetKonzole.class.getName()).log(Level.SEVERE, null, ex);
 }
}

Výsledek:

Odpočet v konzoli v C# .NET

Ve Swingu toto nelze. Výše uvedená operace trvá 10 vteřin. Jakmile spustíme nějakou podobnou dlouhotrvající operaci, vlákno formuláře ji vykonává a celý formulář zamrzne. Aplikace přestane reagovat a po několika vteřinách dokonce operační systém nabídne její ukončení, jelikož se mu nehlásí. Je to z toho důvodu, že jsme zastavili smyčku


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

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

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 300 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 18 článkům (15 lekcí, 3 praktické cvičení) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • 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 tutoriálu pro Java Swing si představíme Timer, který umožňuje spouštět událost po časovém intervalu a dále SwingWorker, který spustí operaci 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íť.

Článek pro vás napsal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity