Java Swing Tutorial: Hur man skapar ett GUI i Java med exempel

Innehållsförteckning:

Anonim

Vad är Swing i Java?

Swing in Java är ett grafiskt användargränssnitt (GUI) som innehåller GUI-komponenterna. Swing erbjuder en rik uppsättning widgets och paket för att skapa sofistikerade GUI-komponenter för Java-applikationer. Swing är en del av Java Foundation Classes (JFC), som är ett API för Java-program som tillhandahåller GUI.

Java Swing-biblioteket är byggt ovanpå Java Abstract Widget Toolkit ( AWT ), ett äldre, plattformsberoende GUI-verktygslåda. Du kan använda Java GUI-programmeringskomponenter som knapp, textruta, etc. från biblioteket och inte behöver skapa komponenterna från grunden.

I denna Java Swing-handledning lär du dig-

  • Vad är Swing i Java?
  • Vad är en behållarklass?
  • Vad är GUI i Java?
  • Java GUI Exempel
  • Java Layout Manager
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Java Swing class Hierarchy Diagram

Java Swing Class Hierarchy Diagram

Alla komponenter i Java Swing är JComponent som kan läggas till i behållarklasserna.

Vad är en behållarklass?

Containerklasser är klasser som kan innehålla andra komponenter. Så för att skapa ett Java GUI behöver vi minst ett containerobjekt. Det finns tre typer av Java Swing-containrar.

  1. 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 i ett fönster.
  2. Ram : Det är ett fullt fungerande fönster med dess titel och ikoner.
  3. 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 (Grafiskt användargränssnitt) i Java är en lättanvänd byggare för visuell upplevelse 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 för att bygga enkla gränssnitt för Java-applikationer.

Java GUI Exempel

Nu i denna Swing Java Tutorial, låt oss förstå GUI med Java Swing-exempel.

Exempel : Att lära dig Java GUI-programmering i denna Java GUI-handledning Steg 1) Kopiera följande kod till en redigerare

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 frameframe.setVisible(true);}}

Steg 2) Spara, kompilera och kör koden.Steg 3) Låt oss nu lägga till en knapp i vår ram. Kopiera följande kod till en redigerare från givet Java GUI-exempel

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. Du får en stor knapp

Steg 5) Vad sägs om att lägga till två knappar? Kopiera följande kod till en redigerare.

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, kompilera och kör programmet.Steg 7) Oväntad utgång =? Knapparna överlappar varandra.

Java Layout Manager

Layouthanteraren används för att layoutera (eller ordna) GUI-Java-komponenterna i en container. Det finns många layouthanterare, men de mest använda är-

Java BorderLayout

A BorderLayoutplacerar komponenter i upp till fem områden: topp, botten, vänster, höger och mitt. Det är standardlayouthanteraren för varje Java JFrame

Java FlowLayout

FlowLayoutär standardlayouthanteraren för alla JPanel. Den lägger helt enkelt ut komponenter i en rad efter varandra.

Java GridBagLayout

Det är den mer sofistikerade av alla layouter. Det justerar komponenter genom att placera dem i ett rutnät av celler, så att komponenter kan spänna över mer än en cell.

Steg 8) Vad sägs om att skapa en chattram som nedan?

Försök att koda 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 FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar 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 componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea 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);}}