Java Swing bemutató: Hogyan hozzunk létre egy GUI-alkalmazást Java

Mi az a Swing in Java?

Hajoljon be Java egy grafikus felhasználói felület (GUI) eszközkészlet, amely tartalmazza a grafikus felhasználói felület összetevőit. A Swing widgetek és csomagok gazdag készletét kínálja kifinomult grafikus felhasználói felület-összetevők készítéséhez Java alkalmazások. A Swing része Java Foundation Classes (JFC), amely egy API Java GUI programozás, amely GUI-t biztosít.

A Java A hintakönyvtár a tetejére épült Java Abstract Widget Toolkit (AWT), egy régebbi, platformfüggő grafikus felhasználói felület eszközkészlet. Használhatja a Java egyszerű GUI programozási komponensek, például gomb, szövegdoboz stb., a könyvtárból, és nem kell a semmiből létrehozniuk az összetevőket.

Ebben Java Swing bemutató, meg fogja tanulni Java A grafikus felhasználói felület alapjai, mint pl.

Java Swing osztály hierarchia diagramja

Java Swing osztályhierarchia diagram
Java Swing osztályhierarchia diagram

Minden alkatrész benne Java A Swing egy JComponent, amely hozzáadható a konténerosztályokhoz.

Mi az a konténerosztály?

A tárolóosztályok olyan osztályok, amelyeken más összetevők is szerepelhetnek. Tehát létrehozásához a Java Swing GUI, legalább egy konténerobjektumra van szükségünk. 3 típusa van Java Lengő konténerek.

  1. Bizottság: Ez egy tiszta konténer, és nem önmagában ablak. A Panel egyetlen célja, hogy az összetevőket egy ablakba rendezze.
  2. Keret: Ez egy teljesen működő ablak a címével és ikonjaival.
  3. párbeszéd: Ez egy felugró ablaknak tekinthető, amely akkor jelenik meg, ha üzenetet kell megjeleníteni. Ez nem egy teljesen működő ablak, mint a Frame.

Miben van a GUI? Java?

GUI (Graphical User Interface) be Java egy könnyen használható vizuális élmény-építő Java alkalmazások. Főleg grafikus összetevőkből áll, mint például gombok, címkék, ablakok stb., amelyeken keresztül a felhasználó interakcióba léphet egy alkalmazással. A grafikus felhasználói felület fontos szerepet játszik az egyszerű interfészek felépítésében Java alkalmazásokat.

Hogyan készítsünk GUI-t Java példával

Most ebben Java GUI oktatóanyag, nézzük meg, hogyan lehet grafikus felhasználói felületet létrehozni Java Swingekkel Java példák.

Step 1) Másolja be a kódot egy szerkesztőbe
Első lépésben másolja be a következő kódot egy szerkesztőbe.

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

Step 2) Futtassa a kódot
Következő lépés a kód mentése, fordítása és futtatása

Step 3) Másolja be a következő kódot egy szerkesztőbe
Most adjunk hozzá egy gombot a keretünkhöz. Másolja a következő kódot egy szerkesztőbe a megadottból Java UI példa

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}

Step 4) Hajtsa végre a kódot
Ezután hajtsa végre a kódot. Kapsz egy nagy gombot.


Java GUI példa

Step 5) Adjon hozzá két gombot

Mit szólnál hozzá két gombot? Másolja be a következő kódot egy szerkesztőbe.

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

Step 6) Mentse és futtassa a programot
Ezután Mentse, fordítsa le és futtassa a programot.

Step 7) Ellenőrizze a kimenetet
Váratlan kimenet =? A gombok átfedik egymást.

Java Layout Manager

Az Elrendezéskezelő a grafikus felhasználói felület elrendezésére (vagy rendezésére) szolgál Java tartályban lévő alkatrészek. Sok elrendezéskezelő létezik, de a leggyakrabban használt

Java BorderLayout

A BorderLayout Az alkatrészeket legfeljebb öt területen helyezheti el: felül, lent, balra, jobbra és középre. Ez az alapértelmezett elrendezéskezelő minden java JFrame-hez

Java BorderLayout

Java BorderLayout

Java FlowLayout

FlowLayout az alapértelmezett elrendezéskezelő minden JPanel. Egyszerűen egyetlen sorban egymás után rakja ki az alkatrészeket.

Java FlowLayout

Java FlowLayout

Java GridBagLayout

Az összes elrendezés közül ez a kifinomultabb. A komponenseket úgy igazítja el, hogy egy cellarácsba helyezi őket, lehetővé téve, hogy az összetevők egynél több cellát öleljenek át.

Java GridBagLayout

Java GridBagLayout

Step 8) Chat keret létrehozása
Mit szólna az alábbi csevegési keret létrehozásához?


Például az Java GUI

Próbálja meg kódolni magát, mielőtt megnézi az alábbi programot.

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}