Java Swing Tutorial: So erstellen Sie eine GUI-Anwendung in Java

Was ist swing auf Java?

Swing auf Java ist ein Toolkit für die grafische Benutzeroberfläche (GUI), das die GUI-Komponenten enthält. Swing bietet einen umfangreichen Satz an Widgets und Paketen zur Erstellung anspruchsvoller GUI-Komponenten für Java-Anwendungen. Swing ist ein Teil von Java Foundation Klassen (JFC), eine API für die Java-GUI-Programmierung, die eine GUI bereitstellt.

Der Java Swing Die Bibliothek basiert auf dem Java Abstract Widget Toolkit (AWT), ein älteres, plattformabhängiges GUI-Toolkit. Sie können die einfachen Java-GUI-Programmierkomponenten wie Schaltflächen und Text verwendenboxusw. aus der Bibliothek und müssen die Komponenten nicht von Grund auf neu erstellen.

In diesem Java Swing Im Tutorial lernen Sie Java GUI-Grundlagen wie-

Java Swing Klassenhierarchiediagramm

Java Swing Klassenhierarchiediagramm
Java Swing Klassenhierarchiediagramm

Alle Komponenten in Java Swing sind JComponent, die zu Containerklassen hinzugefügt werden können.

Was ist eine Containerklasse?

Containerklassen sind Klassen, die andere Komponenten enthalten können. Also zum Erstellen eines Java Swing GUI, wir benötigen mindestens ein Containerobjekt. Es gibt 3 Arten von Java Swing Behälter.

  1. Tafel: Es ist ein reiner Container und kein Fenster an sich. Der einzige Zweck eines Panels besteht darin, die Komponenten in einem Fenster zu organisieren.
  2. Rahmen: Es ist ein voll funktionsfähiges Fenster mit Titel und Symbolen.
  3. Dialog: Man kann es sich wie ein Popup-Fenster vorstellen, das erscheint, wenn eine Nachricht angezeigt werden mussyed. Es handelt sich nicht um ein voll funktionsfähiges Fenster wie das Frame.

Was ist GUI in Java?

GUI (Graphische Benutzeroberfläche) in Java ist ein benutzerfreundlicher Visual Experience Builder für Java-Anwendungen. Es besteht hauptsächlich aus grafischen Komponenten wie Schaltflächen, Beschriftungen, windowsusw., über die der Benutzer mit einer Anwendung interagieren kann. GUI spielt eine wichtige Rolle beim Erstellen einfacher Schnittstellen für Java-Anwendungen.

So erstellen Sie anhand eines Beispiels eine GUI in Java

In diesem Java-GUI-Tutorial wollen wir nun verstehen, wie man mit S eine GUI in Java erstelltwings in Java-Beispielen.

Schritt 1) Code in einen Editor kopieren
Kopieren Sie im ersten Schritt Folgendeswing Code in einen Editor einfügen.

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);
    }
}

Schritt 2) Führen Sie den Code aus
Nächster Schritt: Speichern, kompilieren und ausführen Sie den Code

Schritt 3) Folg kopierenwing Code in einen Editor einfügen
Jetzt fügen wir unserem Frame eine Schaltfläche hinzu. Folg kopierenwing Code aus dem angegebenen Java-UI-Beispiel in einen Editor einfügen

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);
     }
}


Schritt 4) Führen Sie den Code aus
Als nächstes führen Sie den Code aus. Sie erhalten einen großen Knopf.


Beispiel für eine Java-GUI

Schritt 5) Fügen Sie zwei Schaltflächen hinzu
Wie wäre es mit dem Hinzufügen von zwei Schaltflächen? Kopieren Sie Folgendeswing Code in einen Editor einfügen.

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);
     }
}

Schritt 6) Speichern Sie das Programm und führen Sie es aus
Als nächstes speichern, kompilieren und führen Sie das Programm aus.

Schritt 7) Ausgabe prüfen
Unerwartete Ausgabe =? Schaltflächen überlappen sich.

Java-Layout-Manager

Der Layout-Manager wird zum Layouten (oder Anordnen) der GUI-Java-Komponenten in einem Container verwendet. Es gibt viele Layout-Manager, aber die am häufigsten verwendeten sind:

Java BorderLayout

A BorderLayout Platziert Komponenten in bis zu fünf Bereichen: oben, unten, links, rechts und in der Mitte. Es ist der Standard-Layout-Manager für jeden Java-JFrame

Java BorderLayout
Java BorderLayout

Java FlowLayout

FlowLayout ist der Standard-Layout-Manager für jeden JPanel. Dabei werden die Komponenten einfach in einer einzigen Reihe nacheinander angeordnet.

Java FlowLayout
Java FlowLayout

Java GridBagLayout

Es ist das anspruchsvollere aller Layouts. Es richtet Komponenten aus, indem es sie innerhalb eines Zellengitters platziertwing Komponenten können sich über mehr als eine Zelle erstrecken.

Java GridBagLayout
Java GridBagLayout

Schritt 8) Chat-Frame erstellen
Wie wäre es mit der Erstellung eines Chat-Frames wie unten?


Beispiel einer Java-GUI

Versuchen Sie, selbst zu programmieren, bevor Sie sich das Programm unten ansehen.

//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);
    }
}