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
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.
- 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ă.
- Cadru : Este o fereastră complet funcțională, cu titlul și pictogramele sale.
- 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
ABorderLayout
plasează componentele în maximum cinci zone: sus, jos, stânga, dreapta și centru. Este managerul de layout implicit pentru fiecare JFrame Java
Java FlowLayout
FlowLayout
este 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);}}