Java Swing Tutorial: Hoe maak je een GUI-applicatie in Java
Wat is Swing in Java?
Zwaai naar binnen Java is een Graphical User Interface (GUI) toolkit die de GUI-componenten bevat. Swing biedt een rijke set widgets en pakketten om geavanceerde GUI-componenten te maken voor Java toepassingen. Swing is een onderdeel van Java Foundation Classes (JFC), een API voor Java GUI-programmering die GUI biedt.
De Java De Swing-bibliotheek is gebouwd op de Java Toolkit voor abstracte widgets (AWT), een oudere, platformafhankelijke GUI-toolkit. U kunt gebruik maken van de Java eenvoudige GUI-programmeercomponenten zoals knoppen, tekstvakken, enz. uit de bibliotheek en u hoeft de componenten niet helemaal zelf te maken.
In deze Java Swing tutorial, je leert Java GUI-basisprincipes zoals-
Java Hiërarchiediagram van swingklasse
Alle componenten binnen Java Swing zijn JComponent die aan containerklassen kunnen worden toegevoegd.
Wat is een containerklasse?
Containerklassen zijn klassen die andere componenten kunnen bevatten. Dus voor het maken van een Java Swing GUI, we hebben minstens één containerobject nodig. Er zijn 3 typen Java Schommelcontainers.
- Paneel: Het is een pure container en is geen venster op zichzelf. Het enige doel van een paneel is om de componenten in een venster te ordenen.
- Metaal kader: Het is een volledig functionerend venster met zijn titel en pictogrammen.
- Dialoog: Je kunt het zien als een pop-upvenster dat tevoorschijn komt als er een bericht moet worden weergegeven. Het is geen volledig functionerend venster zoals Frame.
Waar zit GUI in Java?
GUI (grafische gebruikersinterface) in Java is een eenvoudig te gebruiken visuele ervaringsbouwer voor Java toepassingen. Het bestaat voornamelijk uit grafische componenten zoals knoppen, labels, vensters, etc. waarmee de gebruiker met een toepassing kan interacteren. GUI speelt een belangrijke rol bij het bouwen van eenvoudige interfaces voor Java toepassingen.
Hoe maak je een GUI in Java met Voorbeeld
Nu in dit Java GUI-zelfstudie, laten we begrijpen hoe we een GUI kunnen maken Java met schommels in Java voorbeelden.
Stap 1) Kopieer code naar een editor
Kopieer in de eerste stap de volgende code in een 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); } }
Stap 2) Voer de code uit
Volgende stap: de code opslaan, compileren en uitvoeren
Stap 3) Kopieer de volgende code in een editor
Laten we nu een knop toevoegen aan ons frame. Kopieer de volgende code in een editor van gegeven Java UI-voorbeeld
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); } }Stap 4) Voer de code uit
Voer vervolgens de code uit. Je krijgt een grote knop.
Stap 5) Voeg twee knoppen toe
Wat dacht je van het toevoegen van twee knoppen? Kopieer de volgende code in een 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); } }
Stap 6) Bewaar en voer het programma uit
Vervolgens slaat u het programma op, compileert u het en voert u het uit.
Stap 7) Controleer de uitvoer
Onverwachte uitvoer =? Knoppen gaan elkaar overlappen.
Java Layout Manager
De Layout Manager wordt gebruikt om de GUI op te maken (of in te delen). Java componenten in een container. Er zijn veel lay-outmanagers, maar de meest gebruikte zijn:
Java Randindeling
A BorderLayout
plaatst componenten in maximaal vijf gebieden: boven, onder, links, rechts en midden. Het is de standaard layoutmanager voor elk Java JFrame
Java FlowLayout
FlowLayout
is de standaard lay-outmanager voor elk JPanel
. Het legt de componenten eenvoudigweg in een enkele rij achter elkaar neer.
Java GridBagLay-out
Het is de meest geavanceerde van alle lay-outs. Het lijnt componenten uit door ze binnen een raster van cellen te plaatsen, waardoor componenten meer dan één cel kunnen beslaan.
Stap 8) Chatframe maken
Wat dacht je van het maken van een chatframe zoals hieronder?
Probeer zelf te coderen voordat u het onderstaande programma bekijkt.
//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); } }