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 - 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.JFra­me. 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
  • setDefaultClo­seOperation(JFra­me.EXIT_ON_CLO­SE) – 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.

  • setLocationRe­lativeTo(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.

Moje první okno v Java Swing - Java Swing bez grafického návrháře

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 931x (14 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Všechny články v sekci
Java Swing bez grafického návrháře
Přeskočit článek
(nedoporučujeme)
Java GUI - Základní komponenty
Článek pro vás napsal Samik11
Avatar
Uživatelské hodnocení:
47 hlasů
Autor se věnuje primárně programování v jazyce Java. Nestraní se ani C# nebo PHP.
Aktivity