Swing In Java: Wissen, wie man eine GUI mit Beispielen erstellt



: Erwerben Sie das Konzept des Swing in Java mit Swing-Klassenhierarchie und Layout-Manager mit einer praktischen Demonstration der GUI-Anwendung.

Swing in Java ist Teil der Java Foundation Class, die leichtgewichtig und plattformunabhängig ist. Es wird zum Erstellen von fensterbasierten Anwendungen verwendet. Es enthält Komponenten wie Schaltfläche, Bildlaufleiste, Textfeld usw. Durch das Zusammenfügen all dieser Komponenten entsteht eine grafische Benutzeroberfläche. In diesem Artikel werden wir die Konzepte durchgehen, die beim Erstellen von Anwendungen mithilfe von Swing-In beteiligt sind . Im Folgenden werden die in diesem Artikel behandelten Konzepte aufgeführt:

Was ist Swing in Java?

Swing in Java ist ein leichtes GUI-Toolkit mit einer Vielzahl von Widgets zum Erstellen optimierter fensterbasierter Anwendungen. Es ist Teil der JFC (Java Foundation Classes). Es baut auf der AWT-API auf und ist vollständig in geschrieben . Es ist im Gegensatz zu AWT plattformunabhängig und verfügt über leichte Komponenten.





Das Erstellen von Anwendungen wird einfacher, da wir bereits GUI-Komponenten wie Schaltflächen, Kontrollkästchen usw. haben. Dies ist hilfreich, da wir nicht bei Null anfangen müssen.

Containerklasse

Irgendein die andere Komponenten enthält, wird als Containerklasse bezeichnet. Zum Erstellen von GUI-Anwendungen ist mindestens eine Containerklasse erforderlich.



Es folgen die drei Arten von Containerklassen:

  1. Panel - Dient zum Organisieren von Komponenten in einem Fenster

  2. Rahmen - Ein voll funktionsfähiges Fenster mit Symbolen und Titeln



  3. Dialog - Es ist wie ein Popup-Fenster, aber nicht voll funktionsfähig wie der Rahmen

Unterschied zwischen AWT und Swing

AWT SCHWINGEN
  • Plattformabhängig
  • Plattformunabhängig
  • Folgt nicht MVC
  • Folgt MVC
  • Kleinere Komponenten
  • Leistungsstärkere Komponenten
  • Unterstützt kein steckbares Erscheinungsbild
  • Unterstützt steckbares Erscheinungsbild
  • Schwergewicht
  • Leicht

Java Swing-Klassenhierarchie

Hierarchie-Swing in Java-Edureka

Erläuterung : Alle Komponenten in Swing wie JButton, JComboBox, JList, JLabel werden von der JComponent-Klasse geerbt, die zu den Containerklassen hinzugefügt werden kann. Container sind Fenster wie Rahmen und Dialogfelder. Grundlegende Swing-Komponenten sind die Bausteine ​​jeder GUI-Anwendung. Methoden wie setLayout überschreiben das Standardlayout in jedem Container. Container wie JFrame und JDialog können nur eine Komponente zu sich selbst hinzufügen. Im Folgenden finden Sie einige Komponenten mit Beispielen, um zu verstehen, wie wir sie verwenden können.

JButton-Klasse

Es wird verwendet, um eine beschriftete Schaltfläche zu erstellen. Wenn Sie den ActionListener verwenden, wird beim Drücken der Taste eine Aktion ausgeführt. Es erbt die AbstractButton-Klasse und ist plattformunabhängig.

Beispiel:

import javax.swing. * Beispiel für eine öffentliche Klasse {public static void main (String args []) {JFrame a = neuer JFrame ('Beispiel') JButton b = neuer JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Ausgabe:

Wörterbuchdatenstruktur in Java

JTextField-Klasse

Es erbt die JTextComponent-Klasse und ermöglicht das Bearbeiten von einzeiligem Text.

Beispiel:

import javax.swing. * Beispiel für eine öffentliche Klasse {public static void main (String args []) {JFrame a = neuer JFrame ('Beispiel') JTextField b = neuer JTextField ('edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300.300) a.setLayout (null) a.setVisible (true)}}

Ausgabe:

JScrollBar-Klasse

Es wird verwendet, um horizontale und vertikale Bildlaufleisten hinzuzufügen.

Beispiel:

import javax.swing. * Klassenbeispiel {example () {JFrame a = neuer JFrame ('Beispiel') JScrollBar b = neuer JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300.300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {neues Beispiel ()}}

Ausgabe:

JPanel-Klasse

Es erbt die JComponent-Klasse und bietet Platz für eine Anwendung, die jede andere Komponente anhängen kann.

import java.awt. * import javax.swing. * public class Beispiel {Beispiel () {JFrame a = neuer JFrame ('Beispiel') JPanel p = neuer JPanel () p.setBounds (40,70,200,200) JButton b = neuer JButton ('click me') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {neues Beispiel ()}}

Ausgabe:

JMenu Clas s

Es erbt die JMenuItem-Klasse und ist eine Pulldown-Menükomponente, die in der Menüleiste angezeigt wird.

Standardwert für Zeichenfolge in Java
import javax.swing. * class Beispiel {JMenu-Menü JMenuItem a1, a2 Beispiel () {JFrame a = neuer JFrame ('Beispiel') menu = neues JMenu ('Optionen') JMenuBar m1 = neues JMenuBar () a1 = neues JMenuItem ( 'Beispiel') a2 = neues JMenuItem ('Beispiel1') menu.add (a1) menu.add (a2) m1.add (Menü) a.setJMenuBar (m1) a.setSize (400.400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {neues Beispiel ()}}

Ausgabe:

JList Klasse

Es erbt die JComponent-Klasse, das Objekt der JList-Klasse repräsentiert eine Liste von Textelementen.

import javax.swing. * public class Beispiel {Example () {JFrame a = neuer JFrame ('Beispiel') DefaultListModel l = neues DefaultListModel () l.addElement ('erstes Element') l.addElement ('zweites Element') JList b = neue JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {neues Beispiel ()}}

Ausgabe:

JLabel Klasse

Es wird zum Platzieren von Text in einem Container verwendet. Es erbt auch die JComponent-Klasse.

import javax.swing. * public class Beispiel {public static void main (String args []) {JFrame a = neuer JFrame ('Beispiel') JLabel b1 b1 = neues JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}

Ausgabe:

JComboBox-Klasse

Es erbt die JComponent-Klasse und wird verwendet, um ein Popup-Menü mit Auswahlmöglichkeiten anzuzeigen.

import javax.swing. * public class Beispiel {JFrame a Example () {a = neuer JFrame ('Beispiel') String-Kurse [] = {'Core Java', 'Advance Java', 'Java Servlet'} JComboBox c = Neu JComboBox (Kurse) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {neues Beispiel ()}}

Ausgabe:

Layout Manager

Um die Komponenten in einem Container anzuordnen, verwenden wir den Layout-Manager. Es folgen verschiedene Layout-Manager:

  1. Rahmenlayout

    MVC-Anwendungsbeispiel in Java
  2. Ablauflayout

  3. GridBag-Layout

Rahmenlayout

Der Standard-Layout-Manager für jeden JFrame ist BorderLayout. Es platziert Komponenten an bis zu fünf Stellen, nämlich oben, unten, links, rechts und in der Mitte.

Ablauflayout

FlowLayout legt die Komponenten einfach nacheinander ab. Es ist der Standard-Layout-Manager für jedes JPanel.

GridBag-Layout

GridBagLayout platziert die Komponenten in einem Raster, sodass die Komponenten mehr als eine Zelle umfassen können.

Beispiel: Chat Frame

import javax.swing. * import java.awt. * class Beispiel {public static void main (String args []) {JFrame frame = neuer JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ('Open ') JMenuItem m22 = neues JMenuItem (' Speichern unter ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // Das Panel ist in der Ausgabe nicht sichtbar JLabel label = new JLabel (' Text eingeben ') JTextField tf = new JTextField (10) // akzeptiert bis zu 10 Zeichen JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Komponenten, die über das Flow Layout-Bedienfeld hinzugefügt wurden .add (label) // Mit Flow Layout hinzugefügte Komponenten panel.add (tf) panel.add (send) panel.add (zurücksetzen) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

Dies ist ein einfaches Beispiel für die Erstellung einer GUI mit Swing in Java.

In diesem Artikel haben wir Swing in Java und die Hierarchie von Java-Swing-Klassen erörtert. Mit all den Komponenten, die mit Swing in Java geliefert werden, wird es einfacher, optimierte GUI-Anwendungen zu erstellen. Die Programmiersprache Java ist eine strukturierte Programmiersprache und mit zunehmender Nachfrage wird es äußerst wichtig, alle Konzepte zu beherrschen . Melden Sie sich bei Edureka an, um Ihr Lernen anzukurbeln und ein Experte für Java-Programmierung zu werden .

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels zu 'Swing In Java'. Wir werden uns so schnell wie möglich bei Ihnen melden.