Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

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.

  1. 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.
  2. Frame :Het is een volledig functionerend venster met zijn titel en pictogrammen.
  3. 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

  1. Java EE-apps implementeren op Azure
  2. Een lijst met strings maken in VHDL
  3. Zelfstudie Java-arrays:declareren, maken, initialiseren [voorbeeld]
  4. Hoe een array van objecten in Java te maken
  5. Willekeurige getallen genereren in Java
  6. Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld
  7. Hoe Char naar String in Java te converteren (voorbeelden)
  8. Een tekenreeks in Java omkeren met behulp van recursie
  9. Java 10 - Klasse-gegevens delen
  10. Hoe maak je een eenvoudige PLCnext console applicatie in C#
  11. Java-toepassing op PLCnext Control