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 Java Swing?
- Containerklasse
- Unterschied zwischen AWT und Swing
- Java Swing-Klassenhierarchie
- Layout Manager
- Beispiel-Chat-Frame
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:
Panel - Dient zum Organisieren von Komponenten in einem Fenster
Rahmen - Ein voll funktionsfähiges Fenster mit Symbolen und Titeln
Dialog - Es ist wie ein Popup-Fenster, aber nicht voll funktionsfähig wie der Rahmen
Unterschied zwischen AWT und Swing
AWT | SCHWINGEN |
|
|
|
|
|
|
|
|
|
|
Java Swing-Klassenhierarchie
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:
Rahmenlayout
MVC-Anwendungsbeispiel in Java
Ablauflayout
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.