Lekce 1 - Java GUI
Tento tutoriál je psaný pro toho, kdo se chce naučit základy grafického uživatelského rozhraní v Javě a tak vytvářet zajímavé programy. Předpokladem je znalost alespoň základních konstrukcí jazyka a základy OOP.
Co to je GUI?
Grafické uživatelské rozhraní (Graphical User Interface) je v podstatě vše, s čím se běžný uživatel našeho programu setkává – tedy okno obsahující různé grafické prvky (tlačítka, ikony, posuvníky ..). Pomocí těchto prvků uživatel komunikuje s programem. Již od 80. let se GUI stávalo samozřejmostí a dnes se prakticky nesetkáte s programem, který běží pouze v příkazovém řádku. Proto je dobré se ho naučit.
GUI a Java
V začátcích Javy nestál návrh GUI za moc, ale postupem času byl stále zlepšován. Dnes je Java plnohodnotný nástroj na tvorbu pěkných okenních programů. Java obsahuje dvě nejpoužívanější grafické knihovny. Starší AWT (Abstract Windowing Toolkit) a od verze JDK 1.2 také JFC (Java Foundation Classes) – známou jako Swing. V Javě se všechna tlačítka, okna, textové plochy atd. nazývají komponenty. Komponenty jsou umístěny v kontejnerech např. JFrame nebo JPanel.
První okno
V Javě je samozřejmě více možností jak vytvořit základní okno. Podle mě je nelepší varianta tato: V Netbeans nebo Eclipsu si vytvoříme nový projekt. Vytvoří se nám třída pojmenovaná po našem projektu s metodou main.
K našemu projektu vytvoříme novou třídu s názvem například Gui. Třída Gui bude dědit ze třídy JFrame. Knihovnu samozřejmě musíme naimportovat. JFrame se nachází v balíčku javax.Swing.JFrame. Pro jistotu naimportujeme hvězdičkou všem.
Ve třídě Gui vytvoříme konstruktor bez parametru. Protože java konstruktory nedědí, použijeme klíčové slovo super, které volá konstruktor třídy JFrame a jako parametr přebírá titulek na našem okně. Třída Gui vypadá asi takto:
import javax.swing.*; public class Gui extends JFrame { public Gui() { super("Moje první okno"); //parametr je titulek okna } }
Vrátíme se do hlavní metody. Vytvoříme v ní instanci třídy Gui, tedy naše okno. Na našem objektu zavoláme tyto základní metody:
- setVisible(true) - Tato metoda s parametrem true nám zviditelní naše okno
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) – Po kliknutí na křížku se program ukončí
- okno.setSize(300, 200) – Metoda, která nastaví velikost okna (v pixelech), první parametr je šířka, druhý výška.
Hlavní třída bude vypadat takto:
import javax.swing.JFrame; public class TutorialGUI { public static void main(String[] args) { Gui okno = new Gui(); okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okno.setVisible(true); okno.setSize(300, 200); } }
Pokud program teď spustíme, okno se nám zobrazí v levém rohu. Příjemnější je, pokud se zobrazí v centru monitoru. Na to použijeme tuto metodu s parametrem null.
- setLocationRelativeTo(null)
Hlavní metoda vypadá tedy takto:
public static void main(String[] args) { Gui okno = new Gui(); okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okno.setVisible(true); okno.setSize(300, 200); okno.setLocationRelativeTo(null); }
Paráda, máme tedy naše první okno! Mělo by vypadat nějak takto.
Okno můžeme normálně zvětšovat zmenšovat minimalizovat a zavřít.
Příště, Java GUI - Základní komponenty, se podíváme na přidávání nějakých komponent.
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 940x (14 kB)
Aplikace je včetně zdrojových kódů v jazyce Java