Java Swing Tutorial: Hur man skapar en GUI-applikation i Java
Vad är Swing in Java?
Sväng in Java är ett grafiskt användargränssnitt (GUI) verktygslåda som inkluderar GUI-komponenterna. Swing tillhandahåller en rik uppsättning widgets och paket att göra sofistikerade GUI-komponenter för Java applikationer. Swing är en del av Java Foundation Classes(JFC), som är ett API för Java GUI-programmering som tillhandahåller GUI.
Smakämnen Java Swing-biblioteket är byggt ovanpå Java Abstrakt Widget Toolkit (AWT), en äldre, plattformsberoende GUI-verktygssats. Du kan använda Java enkla GUI-programmeringskomponenter som knapp, textruta, etc., från biblioteket och behöver inte skapa komponenterna från grunden.
I detta Java Swing tutorial, kommer du att lära dig Java GUI grunderna som-
Java Swing klass Hierarkidiagram
Alla komponenter i Java Swing är JComponent som kan läggas till containerklasser.
Vad är en containerklass?
Behållarklasser är klasser som kan ha andra komponenter på sig. Så för att skapa en Java Swing GUI, vi behöver minst ett containerobjekt. Det finns 3 typer av Java Svängcontainrar.
- Panel: Det är en ren behållare och är inte ett fönster i sig. Det enda syftet med en panel är att organisera komponenterna på ett fönster.
- Ram: Det är ett fullt fungerande fönster med dess titel och ikoner.
- dialog: Det kan ses som ett popup-fönster som dyker upp när ett meddelande måste visas. Det är inte ett fullt fungerande fönster som Frame.
Vad är GUI i Java?
GUI (Graphical User Interface) i Java är en lättanvänd visuell upplevelsebyggare för Java applikationer. Den är huvudsakligen gjord av grafiska komponenter som knappar, etiketter, fönster, etc. genom vilka användaren kan interagera med en applikation. GUI spelar en viktig roll att bygga enkla gränssnitt för Java tillämpningar.
Hur man gör ett GUI i Java med exempel
Nu i detta Java GUI Tutorial, låt oss förstå hur man skapar ett GUI i Java med svängningar in Java exempel.
Steg 1) Kopiera kod till en editor
I första steget Kopiera följande kod till 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); } }
Steg 2) Kör koden
Nästa steg, spara, kompilera och kör koden
Steg 3) Kopiera följande kod till en editor
Låt oss nu lägga till en knapp i vår ram. Kopiera följande kod till en editor från given Java Exempel på UI
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); } }
Steg 4) Kör koden
Kör sedan koden. Du kommer att få en stor knapp.
Steg 5) Lägg till två knappar
Vad sägs om att lägga till två knappar? Kopiera följande kod till 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); } }
Steg 6) Spara och kör programmet
Därefter, spara, kompilera och kör programmet.
Steg 7) Kontrollera utgången
Oväntat resultat =? Knapparna överlappar varandra.
Java layout chef
Layouthanteraren används för att layouta (eller arrangera) det grafiska användargränssnittet Java komponenter inuti en behållare. Det finns många layouthanterare, men de mest använda är-
Java BorderLayout
A BorderLayout
placerar komponenter i upp till fem områden: topp, botten, vänster, höger och mitten. Det är standardlayouthanteraren för varje java JFrame
Java Flödeslayout
FlowLayout
är standardlayouthanteraren för varje JPanel
. Den lägger helt enkelt ut komponenter i en enda rad efter varandra.
Java GridBagLayout
Det är den mer sofistikerade av alla layouter. Den justerar komponenter genom att placera dem i ett rutnät av celler, vilket gör att komponenter kan sträcka sig över mer än en cell.
Steg 8) Skapa chattram
Vad sägs om att skapa en chattram som nedan?
Försök att koda dig själv innan du tittar på programmet nedan.
//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); } }