Java Swing Tutorial: Sådan opretter du en GUI-applikation i Java
Hvad er Swing in Java?
Sving ind 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 lave sofistikerede GUI-komponenter til Java applikationer. Swing er en del af Java Foundation Classes(JFC), som er en API til Java GUI-programmering, der giver GUI.
Java Swing bibliotek er bygget oven på Java Abstrakt widget-værktøjssæt (AWT), et ældre, platformsafhængigt GUI-værktøjssæt. Du kan bruge Java simple GUI-programmeringskomponenter som knap, tekstboks osv., fra biblioteket og behøver ikke at oprette komponenterne fra bunden.
I denne Java Swing tutorial, vil du lære Java GUI basics som-
Java Swing klasse Hierarkidiagram
Alle komponenter i Java Swing er JComponent, som kan tilføjes til containerklasser.
Hvad er en containerklasse?
Containerklasser er klasser, der kan have andre komponenter på. Så for at skabe en Java Swing GUI, vi har brug for mindst ét containerobjekt. Der er 3 typer Java Gyngecontainere.
- 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 på et vindue.
- Frame: Det er et fuldt fungerende vindue med dets titel og ikoner.
- dialog: Det kan opfattes som et pop-up vindue, der popper ud, når en besked skal vises. Det er ikke et fuldt fungerende vindue som Frame.
Hvad er GUI i Java?
GUI (Graphical User Interface) 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 at bygge nemme grænseflader til Java applikationer.
Sådan laver du en GUI i Java med Eksempel
Nu i dette Java GUI Tutorial, lad os forstå, hvordan man opretter en GUI i Java med gynger ind Java eksempler.
Trin 1) Kopier kode til en editor
I første trin Kopier følgende kode ind i 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 frame frame.setVisible(true); } }
Trin 2) Kør koden
Næste trin: Gem, kompilér og kør koden
Trin 3) Kopier følgende kode ind i en editor
Lad os nu tilføje en knap til vores ramme. Kopier følgende kode ind i en editor fra givet Java UI 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
Udfør derefter koden. Du får en stor knap.
Trin 5) Tilføj to knapper
Hvad med at tilføje to knapper? Kopier følgende kode ind i 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 og kør programmet
Dernæst, Gem, kompilér og kør programmet.
Trin 7) Tjek output
Uventet output =? Knapperne overlapper hinanden.
Java Layout Manager
Layoutmanageren bruges til at layoute (eller arrangere) GUI'en Java komponenter inde i en beholder. Der er mange layoutmanagere, men de mest brugte er-
Java Border Layout
A BorderLayout
placerer komponenter i op til fem områder: top, bund, venstre, højre og center. Det er standard layout manager for hver java JFrame
Java FlowLayout
FlowLayout
er standard layoutmanager for hver JPanel
. Den lægger simpelthen komponenter ud i en enkelt række efter hinanden.
Java GridBagLayout
Det er det mere sofistikerede af alle layouts. Det justerer komponenter ved at placere dem i et gitter af celler, så komponenter kan strække sig over mere end én celle.
Trin 8) Opret chatramme
Hvad med at oprette en chatramme som nedenfor?
Prøv at kode dig 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 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); } }