Java Swing-zelfstudie:een GUI-toepassing maken in Java
Wat is Swing in Java?
Swing in Java is een grafische gebruikersinterface (GUI) toolkit die de GUI-componenten bevat. Swing biedt een uitgebreide reeks widgets en pakketten om geavanceerde GUI-componenten voor Java-toepassingen te maken. Swing maakt deel uit van Java Foundation Classes (JFC), een API voor Java GUI-programmering die een GUI biedt.
De Java Swing-bibliotheek is gebouwd bovenop de Java Abstract Widget Toolkit (AWT ), een oudere, platformafhankelijke GUI-toolkit. U kunt de Java eenvoudige GUI-programmeercomponenten zoals knop, tekstvak, enz. uit de bibliotheek gebruiken en hoeft de componenten niet helemaal opnieuw te maken.
In deze Java Swing-zelfstudie leert u de basisprincipes van Java GUI zoals-
- Wat is Swing in Java?
- Wat is een containerklasse?
- Wat is GUI in Java?
- Hoe maak je een GUI in Java met een voorbeeld
- Java Layout Manager
- Java BorderLayout
- Java FlowLayout
- Java GridBagLayout
Java Swing-klasse hiërarchiediagram
Alle componenten in Java Swing zijn JComponent die kunnen worden toegevoegd aan containerklassen.
Wat is een containerklasse?
Containerklassen zijn klassen die andere componenten kunnen bevatten. Dus voor het maken van een Java Swing GUI hebben we ten minste één containerobject nodig. Er zijn 3 soorten Java Swing-containers.
- Paneel :Het is een pure container en is geen raam op zich. Het enige doel van een paneel is om de componenten op een venster te ordenen.
- Frame :Het is een volledig functionerend venster met zijn titel en pictogrammen.
- Dialoogvenster :Het kan worden gezien als een pop-upvenster dat verschijnt wanneer een bericht moet worden weergegeven. Het is geen volledig functionerend venster zoals het Frame.
Wat is GUI in Java?
GUI (grafische gebruikersinterface) in Java is een gebruiksvriendelijke visuele ervaringsbouwer voor Java-toepassingen. Het is voornamelijk gemaakt van grafische componenten zoals knoppen, labels, vensters, enz. waardoor de gebruiker kan communiceren met een applicatie. GUI speelt een belangrijke rol bij het bouwen van eenvoudige interfaces voor Java-applicaties.
Hoe maak je een GUI in Java met een voorbeeld
Laten we nu in deze Java GUI-zelfstudie begrijpen hoe we een GUI in Java kunnen maken met Swings in Java-voorbeelden.
Stap 1) Kopieer code naar een editor
In de eerste stap Kopieer de volgende code naar 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, Opslaan, compileren en voer de code uit
Stap 3) Kopieer de volgende code naar een editor
Laten we nu een knop aan ons frame toevoegen. Kopieer de volgende code naar een editor van een 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) Twee knoppen toevoegen
Hoe zit het met het toevoegen van twee knoppen? Kopieer de volgende code naar 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) Sla het programma op en voer het uit
Volgende, bewaar, compileer en voer het programma uit.
Stap 7) Controleer output
Onverwachte output =? Knoppen overlappen elkaar.
Java Layout Manager
De lay-outmanager wordt gebruikt om de GUI Java-componenten in een container op te maken (of te rangschikken). Er zijn veel lay-outmanagers, maar de meest gebruikte zijn-
Java BorderLay-out
Een BorderLayout
plaatst componenten in maximaal vijf gebieden:boven, onder, links, rechts en midden. Het is de standaard lay-outmanager voor elk java JFrame
Java FlowLay-out
FlowLayout
is de standaard lay-outmanager voor elke JPanel
. Het legt eenvoudig componenten in een enkele rij, de een na de ander.
Java GridBagLayout
Het is de meest geavanceerde van alle lay-outs. Het lijnt componenten uit door ze in een raster van cellen te plaatsen, waardoor componenten meer dan één cel kunnen overspannen.
Stap 8) Chatframe maken
Wat dacht je van het maken van een chatframe zoals hieronder?
Probeer jezelf te coderen voordat je naar het onderstaande programma kijkt.
//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); } }
Java
- Java EE-apps implementeren op Azure
- Een lijst met strings maken in VHDL
- Zelfstudie Java-arrays:declareren, maken, initialiseren [voorbeeld]
- Hoe een array van objecten in Java te maken
- Willekeurige getallen genereren in Java
- Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld
- Hoe Char naar String in Java te converteren (voorbeelden)
- Een tekenreeks in Java omkeren met behulp van recursie
- Java 10 - Klasse-gegevens delen
- Hoe maak je een eenvoudige PLCnext console applicatie in C#
- Java-toepassing op PLCnext Control