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

โšก Intelligente Zusammenfassung

Java Das Swing-Tutorial behandelt das schlanke GUI-Toolkit fรผr Desktop-Anwendungen mit Containern, Komponenten und Layouts.

  • ๐ŸชŸ Pure Java: Gleiches Erscheinungsbild auf allen Betriebssystemen.
  • ???? ๏ธ Behรคlter: JFrame hostet die Benutzeroberflรคche.
  • ๐Ÿงฑ Komponenten: JButton und JLabel decken Benutzeroberflรคchen ab.
  • ๐Ÿ“ Grundrisse: BorderLayout und GridBagLayout.
  • ๐Ÿ†š Schwung vs. JavaFX: Die Schaukel ist eingefroren; JavaFX ist modern.
  • ๐Ÿค– KI-Migration: KI migriert Swing zu Javafx.

Java Swing GUI Tutorial

Was ist Swing in Java?

Einschwingen Java ist ein Toolkit fรผr grafische Benutzeroberflรคchen (GUI), das die GUI-Komponenten enthรคlt. Swing bietet eine umfangreiche Auswahl an Widgets und Paketen zur Erstellung anspruchsvoller GUI-Komponenten fรผr Java Anwendungen. Swing ist ein Teil von Java Foundation Classes(JFC), eine API fรผr Java GUI-Programmierung, die eine grafische Benutzeroberflรคche bereitstellt.

Das Java Die Swing-Bibliothek basiert auf dem Java Abstract Widget Toolkit (AWT), ein รคlteres, plattformabhรคngiges GUI-Toolkit. Sie kรถnnen das Java Einfache GUI-Programmierkomponenten wie Schaltflรคchen, Textfelder usw. aus der Bibliothek und mรผssen die Komponenten nicht von Grund auf neu erstellen.

In dieser Java Swing-Tutorial, Sie werden lernen Java GUI-Grundlagen wie:

Java Hierarchiediagramm der Swing-Klasse

Java Swing-Klassenhierarchiediagramm
Java Swing-Klassenhierarchiediagramm

Alle Komponenten in Java Swing sind JComponents, die zu Containerklassen hinzugefรผgt werden kรถnnen.

Was ist eine Containerklasse?

Containerklassen sind Klassen, die andere Komponenten enthalten kรถnnen. Fรผr die Erstellung eines Java Swing GUI, wir brauchen mindestens ein Containerobjekt. Es gibt 3 Arten von Java Schwenkbehรค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 muss. Es ist kein voll funktionsfรคhiges Fenster wie der Frame.

Was ist GUI in Java?

GUI (Graphische Benutzeroberflรคche) in Java ist ein einfach zu bedienender Visual Experience Builder fรผr Java Anwendungen. Es besteht hauptsรคchlich aus grafischen Komponenten wie Schaltflรคchen, Beschriftungen, Fenstern usw., รผber die der Benutzer mit einer Anwendung interagieren kann. Die GUI spielt eine wichtige Rolle beim Erstellen einfacher Schnittstellen fรผr Java um weitere Anwendungsbeispiele zu finden.

So erstellen Sie eine GUI in Java mit Beispiel

Jetzt hier Java GUI-Tutorial, lassen Sie uns verstehen, wie man eine GUI erstellt in Java mit Swing in Java Beispiele.

Schritt 1) Code in einen Editor kopieren
Kopieren Sie im ersten Schritt den folgenden Code in einen Editor.

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) Kopieren Sie den folgenden Code in einen Editor
Fรผgen wir nun unserem Frame einen Button hinzu. Kopieren Sie den folgenden Code in einen Editor aus dem angegebenen Java UI-Beispiel

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.


Java GUI-Beispiel

Schritt 5) Fรผgen Sie zwei Schaltflรคchen hinzu

Wie wรคre es, zwei Schaltflรคchen hinzuzufรผgen? Kopieren Sie den folgenden Code in einen Editor.

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 verwendet Java Komponenten innerhalb eines Containers. Es gibt viele Layout-Manager, aber die am hรคufigsten verwendeten sind-

Java Rahmenlayout

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 Rahmenlayout

Java Rahmenlayout

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 GitterTaschenLayout

Es ist das ausgefeiltere aller Layouts. Es richtet Komponenten aus, indem es sie in einem Raster aus Zellen platziert, sodass Komponenten mehr als eine Zelle umfassen kรถnnen.

Java GitterTaschenLayout

Java GitterTaschenLayout

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


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

Hรคufig gestellte Fragen

AWT verwendet native Widgets. Swing ist rein Java. JavaFX ist modern.

Ja. Copilot รผbersetzt Komponenten.

KI generiert JFrame-Code; kennzeichnet EDT-Probleme.

Oracle empfiehlt JavaFX. Schwingen Sie fรผr das Vermรคchtnis.

JFrame ist das Standardfenster.

GridBagLayout ist am flexibelsten.

Swing ist nicht threadsicher; verwenden Sie SwingUtilities.invoke.Later.

Verwenden Sie UIManager.setLookAndFeel.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: