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 1 - Úvod do formulářových aplikací v Java Swing

Vítejte u prvního dílu seriálu, ve kterém se naučíme vytvářet okenní (formulářové) aplikace v Javě a vyzkoušíme si použití jednotlivých komponent. Budeme pracovat s tlačítky, textovými poli, tabulkami, ale i s obrázky, časovači a dalšími tzv. komponentami, které máme v těchto aplikacích k dispozici.

Seriál budu psát tak, abyste nepotřebovali žádné pokročilé znalosti. Předpokládám však, že znáte alespoň základy objektově orientovaného programování.

Swing

Swing je framework, který umožňuje jednoduchou tvorbu formulářových aplikací. Nalezneme zde plnou sadu připravených komponent pro většinu situací. A pokud nám nebudou stačit, můžeme si samozřejmě vytvořit vlastní nebo upravit nějakou existující. Právě Swingu se budeme v tomto seriálu věnovat.

Swing je postaven nad AWT, což je starší framework, který obaluje rozhraní samotného operačního systému. Oproti AWT poskytuje bohatší a komfortnější komponenty a navíc podporuje MVC architekturu, viz dále v seriálu.

V současné době existuje spolu se Swingem ještě jeden modernější framework a to JavaFX. Obsahuje lepší oddělení logiky a výstupu, podporu rychlejšího vykreslování, animací, multimédií a dalších nových technologií. Má ovšem složitější instalaci. V praxi se u formulářových aplikací používají oba frameworky.

První formulářová aplikace

Nezačneme jinak, než klasickou aplikací Hello World, tentokrát formulářovou :) Pokud jste nečetli zdejší seriál, tak zopakuji, že je to jednoduchá aplikace, která nedělá nic jiného, než že vypíše nějaký text.

Způsoby návrhu formuláře

Existují v zásadě dva způsoby, jakými lze Swing aplikace vytvářet, přesněji jakými lze vytvářet formuláře:

  1. Grafický návrhář - Moderní IDE nám umožňují vytvářet formulář pomocí tzv. grafického návrháře. Práce s návrhářem je velmi jednoduchá, formulář "naklikáme" a IDE nám vygeneruje jeho zdrojový kód. Tento způsob je ideální pro většinu aplikací a ušetří spoustu práce.
  2. Ruční návrh - Kód formuláře musí napsat sám programátor. Tvorba hlavně větších formulářů je velmi náročná a je třeba elementy pozicovat ručně pomocí různých mezer, panelů, tabulek a podobně. Tuto část za nás dělá v prvním uvedeném způsobu IDE. Ruční návrh formulářů je v oblibě hlavně na školách a v tomto seriálu se mu věnovat nebudeme. Pokud z nějakého důvodu nemůžete grafický návrhář v IDE používat, je pro vás určený seriál Ruční návrh formulářů v Java Swing.

Vytvoříme si v NetBeans nový projekt, jako typ projektu vybereme Java with Maven - Java Application. Jako název zvolíme HelloSwing a Group Id a package dáme cz.itnetwork:

Založení nového projektu Java Swing v NetBeans IDE - Základy Java Swing

Ve vytvořeném projektu rozklikneme Source packages. Klikneme pravým tlačítkem na soubor HelloSwing.java a pomocí Delete jej odstraníme. Poté klikneme pravým tlačítkem na balíček cz.itnetwork a vybereme New - JFrame form:

Nový JFrame Form v NetBeans - Základy Java Swing

Bude to hlavní okno naší aplikace. Jako název zvolíme HlavniJFrame.

Okno našeho Netbeans bude nyní vypadat asi takto:

Formulářové aplikace v NetBeans za použití Java Swing - Základy Java Swing

Popišme si jeho jednotlivé části, které budeme při vývoji formulářových aplikací používat. Důležité části jsou na obrázku výše zvýrazněné červeně.

  • Designer (Grafický návrhář) - V Designeru vidíme, jak formulář vypadá. Zatím je to jen prázdné okno (prázdná plocha).
  • Properties (Vlastnosti) - V okně Properties vidíme vlastnosti aktuálně označeného prvku na formuláři. Pokud okno nevidíte, zapněte si ho v menu View -> IDE Tools.
  • Palette (Paleta komponent) - V paletě nalezneme komponenty, které na formulář můžeme vložit.
  • Tlačítka Source / Design slouží k přepínání mezi grafickým návrhářem a kódem formuláře. Kód si popíšeme za malý moment.

Nastavení vlastností kontrolek

Když označíme nějakou komponentu na formuláři nebo formulář samotný, můžeme v okně Properties měnit jednotlivé vlastnosti komponenty.

Jelikož na formuláři žádný prvek nemáme, je označený právě formulář. Formuláři nastavíme titulek na Pozdrav. Vyhledáme si vlastnost title a do ní vložíme hodnotu Pozdrav. Tímto způsobem budeme nastavovat vlastnosti všech komponent na formuláři.

Vložení komponenty na formulář

V paletě nyní vybereme Label, což je textový popisek. Vybíráme vždy Swing komponenty, v paletě jsou níže i původní AWT, které používat nebudeme. Label vložíme do formuláře přesunutím myší. Formulář si zmenšíme a Label myší jednoduše přesuneme doprostřed. Označenému labelu v okně Properties nastavíme text na Pozdrav z formuláře. Soubor uložíme.

Nastavení třídy s metodou main()

Jelikož jsme odstranili soubor HelloSwing, který obsahoval původní metodu main(), musíme nyní Netbeans říct, že nová metoda main() je v souboru HlavniJFrame. Jinak by Netbeans nevědělo, co má spustit.

Klikneme tedy pravým tlačítkem na projekt HelloSwing a vybereme Properties. Tam na kartě Run, vedle řádku Main Class, klikneme na tlačítko Browse a vybereme třídu cz.itnetwork.HlavniJFrame. Potvrdíme OK a projekt uložíme.

Naši první okenní aplikaci můžeme spustit jako vždy zeleným tlačítkem Play nebo klávesou F6. Poté dostaneme podobný výsledek:

První okenní aplikace v Java Swing v NetBeans - Základy Java Swing

Aplikaci máte níže ke stažení pro případ, že se vám něco nepodařilo, bude tomu tak v každém dílu.

Příště, Java Swing pod pokličkou, si vysvětlíme, jak aplikace funguje pod pokličkou, tedy ze strany kódu.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 712x (3.28 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Všechny články v sekci
Základy Java Swing
Přeskočit článek
(nedoporučujeme)
Java Swing pod pokličkou
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
62 hlasů
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