1. díl - Úvod do formulářových aplikací v Java Swing

Java Swing Ú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í. V praxi se u formulářových aplikací používají oba frameworky, u novějších aplikací JavaFX, existující aplikace z většiny používají Swing. Oracle potvrdil, že JavaFX Swing nahrazuje. V praxi se ale ještě setkáte s mnoha aplikacemi, které jsou ve Swingu napsané. Měli byste o něm tedy mít alespoň nějaké povědomí, i když v něm již nové aplikace prakticky nemá smysl vytvářet a můžete začít rovnou v JavaFX.

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řte si v NetBeans nový projekt, jako typ projektu vyberte běžnou Java Application. Jako název zvolíme HelloSwing a odškrtneme vytvoření hlavní třídy:

Založení nového projektu Java Swing v NetBeans IDE

Na vytvořený projekt klikneme v oknu Projects pravým tlačítkem a přidáme nový JFrame form.

Nový JFrame Form v NetBeans

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

Okno vašeho NetBeans by nyní mělo vypadat asi takto:

Formulářové aplikace v NetBeans za použití 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. Vyhledejte si vlastnost title a do ní vložte 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írejte 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šete a label myší jednoduše přesuňte doprostřed. Označenému labelu v oknu Properties nastavte text na "Pozdrav z formuláře".

Vaši první okenní aplikaci můžete spustit jako vždy zeleným tlačítkem Play nebo klávesou F6. Při prvním spuštění budete dotázáni k výběru hlavní třídy aplikace, zvolíme třídu formuláře a potvrdíme. Měli byste dostat podobný výsledek:

První okenní aplikace v Java Swing v NetBeans

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ě si vysvětlíme, jak aplikace funguje pod pokličkou, tedy ze strany kódu.


 

Stáhnout

Staženo 471x (19.47 kB)
Aplikace je včetně zdrojových kódů v jazyce java

 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (2 hlasů) :
55555


 


Miniatura
Všechny články v sekci
Okenní aplikace v Java Swing
Miniatura
Následující článek
Java Swing pod pokličkou

 

 

Komentáře

Avatar
GunSpawn
Redaktor
Avatar
GunSpawn:

Chci se zeptat jestli to jde i v Eclipse a jestli jo tak jak. Dík za odpověď.

Odpovědět 11.12.2013 18:21
Save early, save often, save everything, everywhere, everytime.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na GunSpawn
David Čápka:

V Eclipse to jde, ale to si budeš muset vygooglovat, já dělám jen v NetBeans, což je IDE přímo od vývojářů Javy.

Odpovědět  +1 9.1.2014 18:00
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
GunSpawn
Redaktor
Avatar
Odpovídá na David Čápka
GunSpawn:

Díky za odpověď. Aspoň nějakou.

Odpovědět 13.1.2014 11:36
Save early, save often, save everything, everywhere, everytime.
Avatar
zdvit
Člen
Avatar
zdvit:

Zdravím, snad jsem provedl všechno dle návodu, dokonce proběhl Run s Build Successfull,ale s jedinou závadou - okno se nezobrazilo. Co jsem udělal špatně? Dík.

 
Odpovědět 17.1.2014 7:59
Avatar
honza86
Člen
Avatar
honza86:

při vytváření projectu si možná zapoměl odškrtnout vytvoření hlavní metody. Mě to taky nešlo ale ted už to jde.

 
Odpovědět 1.2.2014 9:03
Avatar
adder
Člen
Avatar
Odpovídá na GunSpawn
adder:

Dáš v horní liště eclipse Help -> Install New Software... dále dáš Add s čím budeš pracovat: http://dl.google.com/…o/latest/4.2 a v okně po načtení zaklikneš všechny možnosti, co vyjedou a update. Po restartu programu s založíš novej projekt a do teho vložíš Other->WindowsBuilder->SwingDesinger->JFrame

Odpovědět 2.2.2014 12:27
I’m going to lay this brick as perfectly as a brick can be laid.
Avatar
GunSpawn
Redaktor
Avatar
Odpovědět 4.2.2014 18:02
Save early, save often, save everything, everywhere, everytime.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.