Java Swing Tutorial: Hvordan lage en GUI i Java med eksempler

Innholdsfortegnelse:

Anonim

Hva er Swing in Java?

Swing in Java er et grafisk brukergrensesnitt (GUI) -verktøy som inkluderer GUI-komponentene. Swing tilbyr et rikt sett med widgets og pakker for å lage sofistikerte GUI-komponenter for Java-applikasjoner. Swing er en del av Java Foundation Classes (JFC), som er en API for Java-programmer som gir GUI.

Java Swing-biblioteket er bygget på toppen av Java Abstract Widget Toolkit ( AWT ), et eldre, plattformavhengig GUI-verktøy. Du kan bruke Java GUI-programmeringskomponenter som knapp, tekstboks osv. Fra biblioteket og ikke trenger å opprette komponentene fra bunnen av.

I denne Java Swing-opplæringen vil du lære-

  • Hva er Swing in Java?
  • Hva er en containerklasse?
  • Hva er GUI i Java?
  • Java GUI Eksempel
  • Java Layout Manager
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Java Swing class Hierarchy Diagram

Java Swing Class Hierarchy Diagram

Alle komponenter i Java Swing er JComponent som kan legges til containerklasser.

Hva er en containerklasse?

Containerklasser er klasser som kan ha andre komponenter på seg. Så for å lage en Java GUI trenger vi minst ett containerobjekt. Det finnes 3 typer Java Swing-containere.

  1. Panel : Det er en ren beholder og er ikke et vindu i seg selv. Det eneste formålet med et panel er å organisere komponentene i et vindu.
  2. Ramme : Det er et fullt fungerende vindu med tittel og ikoner.
  3. Dialog : Det kan tenkes som et popup-vindu som dukker opp når en melding må vises. Det er ikke et fullt fungerende vindu som Frame.

Hva er GUI i Java?

GUI (Graphical User Interface) i Java er en brukervennlig visuell opplevelsesbygger for Java-applikasjoner. Den er hovedsakelig laget av grafiske komponenter som knapper, etiketter, vinduer etc. der brukeren kan samhandle med et program. GUI spiller en viktig rolle for å bygge enkle grensesnitt for Java-applikasjoner.

Java GUI Eksempel

Nå i denne Swing Java Tutorial, la oss forstå GUI med Java Swing eksempler.

Eksempel : For å lære Java GUI-programmering i denne Java GUI-opplæringen Trinn 1) Kopier følgende kode til 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 frameframe.setVisible(true);}}

Trinn 2) Lagre, kompiler og kjør koden.Trinn 3) La oss nå legge til en knapp i rammen vår. Kopier følgende kode til en redaktør fra gitt Java GUI-eksempel

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);}}

Trinn 4) Utfør koden. Du får en stor knapp

Trinn 5) Hva med å legge til to knapper? Kopier følgende kode til en redaktør.

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);}}

Trinn 6) Lagre, kompiler og kjør programmet.Trinn 7) Uventet utgang =? Knappene blir overlappende.

Java Layout Manager

Layoutmanageren brukes til å utforme (eller ordne) GUI-Java-komponentene i en container. Det er mange layoutadministratorer, men de mest brukte er-

Java BorderLayout

A BorderLayoutplasserer komponenter i opptil fem områder: topp, bunn, venstre, høyre og sentrum. Det er standard layout manager for hver Java JFrame

Java FlowLayout

FlowLayouter standard layout manager for alle JPanel. Den legger rett og slett ut komponenter i en rad etter hverandre.

Java GridBagLayout

Det er den mer sofistikerte av alle oppsett. Den justerer komponentene ved å plassere dem i et rutenett av celler, slik at komponentene kan strekke seg over mer enn en celle.

Trinn 8) Hva med å lage en chatteramme som nedenfor?

Prøv å kode deg selv før du ser på programmet nedenfor.

//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);}}