Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. 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.

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

Co od nás v dalších lekcích dostaneš?
  • 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 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í.
Č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