Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

1. diel - Java GUI

Tento tutoriál je písaný pre toho, kto sa chce naučiť základy grafického užívateľského rozhrania v Jave a tak vytvárať zaujímavé programy. Predpokladom je znalosť aspoň základných konštrukcií jazyka a základy OOP.

Čo to je GUI?

Grafické užívateľské rozhranie (Graphical User Interface) je v podstate všetko, s čím sa bežný užívateľ nášho programu stretáva - teda okno obsahujúce rôzne grafické prvky (tlačidlá, ikony, posuvníky ..). Pomocou týchto prvkov používateľ komunikuje s programom. Už od 80. rokov sa GUI stávalo samozrejmosťou a dnes sa prakticky nestretnete s programom, ktorý beží len v príkazovom riadku. Preto je dobré sa ho naučiť. :-)

Gui a Java

V začiatkoch Javy nestál návrh GUI za moc, ale postupom času bol stále zlepšovaný. Dnes je Java plnohodnotný nástroj na tvorbu pekných okenných programov. Java obsahuje dve najpoužívanejšie grafické knižnice. Staršie AWT (Abstract Windowing Toolkit) a od verzie JDK 1.2 tiež JFC (Java Foundation Classes) - známu ako Swing. V Jave sa všetky tlačidlá, okná, textové plochy atď. Nazývajú komponenty. Komponenty sú umiestnené v kontajneroch napr. JFrame alebo JPanel.

Prvé okno

V Jave je samozrejme viac možností ako vytvoriť základné okno. Podľa mňa je nelepší varianta táto: V Netbeans alebo Eclipse si vytvoríme nový projekt. Vytvorí sa nám trieda pomenovaná po našom projekte s metódou main.

K nášmu projektu vytvoríme novú triedu s názvom napríklad Gui. Trieda Gui bude dediť z triedy JFrame. Knižnicu samozrejme musíme naimportovať. JFrame sa nachádza v balíčku javax.Swing.JFra­me. Pre istotu importujete hviezdičkou všetkým.

V triede Gui vytvoríme konštruktor bez parametra. Pretože java konštruktory nededia, použijeme kľúčové slovo super, ktoré volá konštruktor triedy JFrame a ako parameter preberá titulok na našom okne. Trieda Gui vyzerá asi takto:

import javax.swing.*;

public class Gui extends JFrame {

    public Gui()
    {
        super("Moje první okno"); //parametr je titulek okna
    }

}

Vrátime sa do hlavnej metódy. Vytvoríme v nej inštanciu triedy Gui, teda naše okno. Na našom objektu zavoláme tieto základné metódy:

  • setVisible (true) - Táto metóda s parametrom true nám zviditeľní naše okno
  • setDefaultClo­seOperation (JFrame.EXIT_ON_CLO­SE) - Po kliknutí na sporu so program ukončí
  • okno.setSize (300, 200) - Metóda, ktorá nastaví veľkosť okna (v pixeloch), prvý parameter je šírka, druhý výška.

Hlavná trieda bude vyzerať 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);
    }
}

Ak program teraz spustíme, okno sa nám zobrazí v ľavom rohu. Príjemnejšie je, ak sa zobrazí v centre monitore. Na to použijeme túto metódu s parametrom null.

  • setLocationRe­lativeTo (null)

Hlavné metóda vyzerá teda nasledovne:

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 teda naše prvé okno! :-) Malo by vyzerať nejako takto.

Moja prvá okno v Java Swing - Java Swing bez grafického návrhára

Okno môžeme normálne zväčšovať zmenšovať minimalizovať a zatvoriť. Nabudúce sa pozrieme na pridávanie nejakých komponentov.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 941x (14 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Všetky články v sekcii
Java Swing bez grafického návrhára
Preskočiť článok
(neodporúčame)
Java GUI - Základné komponenty
Článok pre vás napísal Samik11
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje primárně programování v jazyce Java. Nestraní se ani C# nebo PHP.
Aktivity