Tutorial Java Swing: Cum să creați o interfață grafică în Java cu exemple

Cuprins:

Anonim

Ce este Swing în Java?

Swing in Java este un set de instrumente Graphical User Interface (GUI) care include componentele GUI. Swing oferă un set bogat de widget-uri și pachete pentru a crea componente GUI sofisticate pentru aplicațiile Java. Swing face parte din Java Foundation Classes (JFC), care este un API pentru programele Java care oferă GUI.

Biblioteca Java Swing este construită deasupra Java Abstract Widget Toolkit ( AWT ), un set de instrumente GUI mai vechi, dependent de platformă. Puteți utiliza componentele de programare Java GUI precum butonul, caseta de text etc. din bibliotecă și nu trebuie să creați componentele de la zero.

În acest tutorial Java Swing, veți învăța-

  • Ce este Swing în Java?
  • Ce este o clasă de containere?
  • Ce este GUI în Java?
  • Exemplu GUI Java
  • Java Layout Manager
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Diagrama ierarhiei clasei Java Swing

Diagrama ierarhiei clasei Java Swing

Toate componentele din Java Swing sunt JComponent care pot fi adăugate la clasele de containere.

Ce este o clasă de containere?

Clasele de containere sunt clase care pot avea și alte componente. Deci, pentru a crea o interfață grafică Java, avem nevoie de cel puțin un obiect container. Există 3 tipuri de containere Java Swing.

  1. Panou : Este un container pur și nu este o fereastră în sine. Singurul scop al unui panou este de a organiza componentele pe o fereastră.
  2. Cadru : Este o fereastră complet funcțională, cu titlul și pictogramele sale.
  3. Dialog : poate fi gândit ca o fereastră pop-up care apare atunci când trebuie afișat un mesaj. Nu este o fereastră pe deplin funcțională, precum cadrul.

Ce este GUI în Java?

GUI (Graphical User Interface) în Java este un generator de experiență vizuală ușor de utilizat pentru aplicații Java. Este realizat în principal din componente grafice, cum ar fi butoane, etichete, ferestre etc., prin care utilizatorul poate interacționa cu o aplicație. GUI joacă un rol important pentru a construi interfețe ușoare pentru aplicațiile Java.

Exemplu GUI Java

Acum, în acest tutorial Java Swing, să înțelegem GUI cu exemple Java Swing.

Exemplu : Pentru a învăța programarea GUI Java în acest tutorial Java GUI Pasul 1) Copiați următorul cod într-un 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);}}

Pasul 2) Salvați, compilați și rulați codul.Pasul 3) Acum să adăugăm un buton în cadrul nostru. Copiați următorul cod într-un editor dintr-un anumit exemplu GUI Java

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

Pasul 4) Executați codul. Veți primi un buton mare

Pasul 5) Ce zici de adăugarea a două butoane? Copiați următorul cod într-un 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);}}

Pasul 6) Salvați, compilați și rulați programul.Pasul 7) Ieșire neașteptată =? Butoanele se suprapun.

Java Layout Manager

Managerul de aspect este folosit pentru a aranja (sau aranja) componentele Java GUI din interiorul unui container. Există mulți manageri de aspect, dar cele mai frecvent utilizate sunt-

Java BorderLayout

A BorderLayoutplasează componentele în maximum cinci zone: sus, jos, stânga, dreapta și centru. Este managerul de layout implicit pentru fiecare JFrame Java

Java FlowLayout

FlowLayouteste managerul de layout implicit pentru fiecare JPanel. Pur și simplu prezintă componentele într-un singur rând unul după altul.

Java GridBagLayout

Este cel mai sofisticat dintre toate aspectele. Aliniază componentele plasându-le într-o grilă de celule, permițând componentelor să se întindă pe mai mult de o celulă.

Pasul 8) Ce zici de crearea unui cadru de chat ca mai jos?

Încercați să vă codificați înainte de a privi programul de mai jos.

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