Hvad er Swing i Java?
Swing in Java er et grafisk brugergrænseflade (GUI) værktøjssæt, der inkluderer GUI-komponenterne. Swing giver et rigt sæt widgets og pakker til at fremstille sofistikerede GUI-komponenter til Java-applikationer. Swing er en del af Java Foundation Classes (JFC), som er en API til Java-programmer, der leverer GUI.
Java Swing-biblioteket er bygget oven på Java Abstract Widget Toolkit ( AWT ), et ældre, platformafhængigt GUI-værktøjssæt. Du kan bruge Java GUI programmeringskomponenter som knap, tekstboks osv. Fra biblioteket og ikke behøver at oprette komponenterne fra bunden.
I denne Java Swing-tutorial lærer du-
- Hvad er Swing i Java?
- Hvad er en containerklasse?
- Hvad er GUI i Java?
- Java GUI-eksempel
- Java Layout Manager
- Java BorderLayout
- Java FlowLayout
- Java GridBagLayout
Java Swing klasse Hierarki Diagram

Alle komponenter i Java Swing er JComponent, som kan føjes til containerklasser.
Hvad er en containerklasse?
Containerklasser er klasser, der kan have andre komponenter på det. Så for at oprette en Java GUI har vi brug for mindst et containerobjekt. Der er 3 typer Java Swing-containere.
- Panel : Det er en ren beholder og er ikke et vindue i sig selv. Det eneste formål med et panel er at organisere komponenterne i et vindue.
- Ramme : Det er et fuldt fungerende vindue med titel og ikoner.
- Dialog : Det kan betragtes som et pop op-vindue, der vises, når en meddelelse skal vises. Det er ikke et fuldt fungerende vindue som rammen.
Hvad er GUI i Java?
GUI (grafisk brugergrænseflade) i Java er en brugervenlig visuel oplevelsesbygger til Java-applikationer. Det er hovedsageligt lavet af grafiske komponenter som knapper, etiketter, vinduer osv., Hvorigennem brugeren kan interagere med en applikation. GUI spiller en vigtig rolle for at opbygge lette grænseflader til Java-applikationer.
Java GUI-eksempel
Nu i denne Swing Java-tutorial, lad os forstå GUI med Java Swing-eksempler.
Eksempel : For at lære Java GUI-programmering i denne Java GUI-vejledning Trin 1) Kopier følgende kode til en 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 frameframe.setVisible(true);}}
Trin 2) Gem, kompiler og kør koden.Trin 3) Lad os nu tilføje en knap til vores ramme. Kopier følgende kode til en editor fra det givne Java GUI-eksempel
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);}}
Trin 4) Udfør koden. Du får en stor knap
Trin 5) Hvad med at tilføje to knapper? Kopier følgende kode til en 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);}}
Trin 6) Gem, kompilér og kør programmet.Trin 7) Uventet output =? Knapperne bliver overlappede.
Java Layout Manager
Layoutmanageren bruges til at layoutere (eller arrangere) GUI java-komponenterne i en container. Der er mange layoutmanagere, men de hyppigst anvendte er-
Java BorderLayout
ABorderLayout
placerer komponenter i op til fem områder: top, bund, venstre, højre og center. Det er standardlayoutmanageren for hver Java JFrame
Java FlowLayout
FlowLayout
er standardlayoutmanager for alle JPanel
. Det indeholder simpelthen komponenter i en enkelt række efter hinanden.
Java GridBagLayout
Det er det mere sofistikerede af alle layouter. Det justerer komponenter ved at placere dem inden i et gitter af celler, så komponenter kan spænde over mere end en celle.
Trin 8) Hvad med at oprette en chatramme som nedenfor?
Prøv at kode dig selv, før du kigger på programmet nedenfor.
//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 FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar 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 componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea 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);}}