Hva er Swing in Java?
Swing in Java er et grafisk brukergrensesnitt (GUI) -verktøy som inkluderer GUI-komponentene. Swing tilbyr et rikt sett med widgets og pakker for å lage sofistikerte GUI-komponenter for Java-applikasjoner. Swing er en del av Java Foundation Classes (JFC), som er en API for Java-programmer som gir GUI.
Java Swing-biblioteket er bygget på toppen av Java Abstract Widget Toolkit ( AWT ), et eldre, plattformavhengig GUI-verktøy. Du kan bruke Java GUI-programmeringskomponenter som knapp, tekstboks osv. Fra biblioteket og ikke trenger å opprette komponentene fra bunnen av.
I denne Java Swing-opplæringen vil du lære-
- Hva er Swing in Java?
- Hva er en containerklasse?
- Hva er GUI i Java?
- Java GUI Eksempel
- Java Layout Manager
- Java BorderLayout
- Java FlowLayout
- Java GridBagLayout
Java Swing class Hierarchy Diagram

Alle komponenter i Java Swing er JComponent som kan legges til containerklasser.
Hva er en containerklasse?
Containerklasser er klasser som kan ha andre komponenter på seg. Så for å lage en Java GUI trenger vi minst ett containerobjekt. Det finnes 3 typer Java Swing-containere.
- Panel : Det er en ren beholder og er ikke et vindu i seg selv. Det eneste formålet med et panel er å organisere komponentene i et vindu.
- Ramme : Det er et fullt fungerende vindu med tittel og ikoner.
- Dialog : Det kan tenkes som et popup-vindu som dukker opp når en melding må vises. Det er ikke et fullt fungerende vindu som Frame.
Hva er GUI i Java?
GUI (Graphical User Interface) i Java er en brukervennlig visuell opplevelsesbygger for Java-applikasjoner. Den er hovedsakelig laget av grafiske komponenter som knapper, etiketter, vinduer etc. der brukeren kan samhandle med et program. GUI spiller en viktig rolle for å bygge enkle grensesnitt for Java-applikasjoner.
Java GUI Eksempel
Nå i denne Swing Java Tutorial, la oss forstå GUI med Java Swing eksempler.
Eksempel : For å lære Java GUI-programmering i denne Java GUI-opplæringen Trinn 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);}}
Trinn 2) Lagre, kompiler og kjør koden.Trinn 3) La oss nå legge til en knapp i rammen vår. Kopier følgende kode til en redaktør fra gitt 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);}}
Trinn 4) Utfør koden. Du får en stor knapp
Trinn 5) Hva med å legge til to knapper? Kopier følgende kode til en redaktør.
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);}}
Trinn 6) Lagre, kompiler og kjør programmet.Trinn 7) Uventet utgang =? Knappene blir overlappende.
Java Layout Manager
Layoutmanageren brukes til å utforme (eller ordne) GUI-Java-komponentene i en container. Det er mange layoutadministratorer, men de mest brukte er-
Java BorderLayout
ABorderLayout
plasserer komponenter i opptil fem områder: topp, bunn, venstre, høyre og sentrum. Det er standard layout manager for hver Java JFrame
Java FlowLayout
FlowLayout
er standard layout manager for alle JPanel
. Den legger rett og slett ut komponenter i en rad etter hverandre.
Java GridBagLayout
Det er den mer sofistikerte av alle oppsett. Den justerer komponentene ved å plassere dem i et rutenett av celler, slik at komponentene kan strekke seg over mer enn en celle.
Trinn 8) Hva med å lage en chatteramme som nedenfor?
Prøv å kode deg selv før du ser 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);}}