logo

Introducere în Java Swing

Leagăn este o bibliotecă Java Foundation Classes [JFC] și o extensie a Abstract Window Toolkit [AWT]. Java Swing oferă funcționalități mult îmbunătățite față de AWT, componente noi, caracteristici extinse ale componentelor și gestionarea excelentă a evenimentelor cu suport drag-and-drop.

Introducerea Java Swing

Swing are un număr de aproximativ patru ori mai mare de componente de interfață utilizator [UI] ca AWT și face parte din distribuția standard Java. Conform cerințelor actuale ale aplicației GUI, AWT este o implementare limitată, care nu este capabilă să furnizeze componentele necesare pentru dezvoltarea interfețelor grafice complexe necesare în aplicațiile comerciale moderne. Setul de componente AWT are destul de multe erori și ocupă o mulțime de resurse de sistem în comparație cu resursele Swing echivalente. Netscape a introdus biblioteca sa Internet Foundation Classes [IFC] pentru utilizare cu Java. Clasele sale au devenit foarte populare în rândul programatorilor care creează GUI-uri pentru aplicații comerciale.



  • Swing este un set de API (API-Set de clase și interfețe)
  • Swing este oferit pentru proiectarea interfețelor grafice cu utilizatorul
  • Swing este o bibliotecă de extensie a AWT (Abstract Window Toolkit) 5:00 – 5:30 pm
  • Include componente noi și îmbunătățite care au îmbunătățit aspectul și funcționalitatea interfețelor grafice.
  • Swing poate fi folosit pentru a construi (dezvolta) aplicațiile GUI swing autonome ca servlet-uri și applet-uri
  • Utilizează arhitectura de proiectare model/vedere.
  • Swing este mai portabil și mai flexibil decât AWT, Swing-ul este construit deasupra AWT.
  • Swing este scris în întregime în Java.
  • Componentele Java Swing sunt independente de platformă, iar Componentele Swing sunt ușoare.
  • Swing Suportă un aspect și senzație conectabil, iar Swing oferă componente mai puternice.
  • cum ar fi tabele, liste, panouri de defilare, Colorchooser, panou cu file etc.
  • Mai departe leagănul urmează MVC.

Diferența dintre Java Swing și Java AWT

Există anumite puncte din care Java Swing este diferit de Java AWT, după cum este menționat mai jos:

Java AWT

Java Swing



conversia obiectului în șir

Java AWT este un API pentru dezvoltarea aplicațiilor GUI în Java.

Swing face parte din Java Foundation Classes și este folosit pentru a crea diverse aplicații.

Componentele AWT au o greutate mare.



Componentele Java Swing sunt ușoare.

Componentele depind de platformă.

Componentele sunt independente de platformă.

Timpul de execuție este mai mult decât Swing.

Timpul de execuție este mai mic decât AWT.

Componentele AWT necesită pachetul java.awt.

Componentele Swing necesită pachetul javax.swing.

Pentru a afla mai multe despre subiect, consultați Java Swing vs Java AWT .

Ce este JFC?

JFC înseamnă Java Foundation Classes. JFC este setul de componente GUI care simplifică aplicațiile desktop. Mulți programatori cred că JFC și Swing sunt unul și același lucru, dar nu este așa. JFC conține Swing [Un pachet de componente UI] și un număr destul de mare de alte articole:

  • Tăiați și lipiți: suport Clipboard.
  • Caracteristici de accesibilitate: Vizând dezvoltarea interfețelor grafice pentru utilizatorii cu dizabilități.
  • Funcțiile Desktop Colors au fost introduse pentru prima dată în Java 1.1
  • Java 2D: are suport îmbunătățit pentru culori, imagini și text.

Caracteristicile clasei de leagăn

  • Aspect și senzație conectabile.
  • Utilizează arhitectura MVC.
  • Componente ușoare
  • Platforma independenta
  • Funcții avansate precum JTable, JTabbedPane, JScollPane etc.
  • Java este un limbaj independent de platformă și rulează pe orice mașină client, aspectul și senzația GUI, deținută și furnizată de un O/S specific platformei, pur și simplu nu afectează interfața grafică a unei aplicații construită folosind componente Swing.
  • Componente ușoare: Începând cu JDK 1.1, dezvoltarea de componente ușoare susținută de AWT. Pentru ca o componentă să se califice ca ușoară, nu trebuie să depindă de nicio clasă de sistem non-Java [pe baza O/s]. Componentele Swing au propria lor vedere susținută de clasele de aspect și senzație Java.
  • Aspect și senzație conectabil: Această caracteristică permite utilizatorului să schimbe aspectul componentelor Swing fără a reporni o aplicație. Biblioteca Swing acceptă aspectul și senzația componentelor care rămân aceleași pe toate platformele, oriunde rulează programul. Biblioteca Swing oferă un API care oferă o flexibilitate reală în determinarea aspectului și simțului interfeței grafice a unei aplicații
  • Extrem de personalizabil - Comenzile de balansare pot fi personalizate într-un mod foarte ușor, deoarece aspectul vizual este independent de reprezentarea internă.
  • Controale bogate – Swing oferă un set bogat de comenzi avansate, cum ar fi Tree TabbedPane, glisor, colorpicker și comenzi pentru tabel.

Ierarhia Claselor Swing

Ierarhia Claselor Swing

Conexiunea MVC

  • În general, o componentă vizuală este un compus din trei aspecte distincte:
    1. Modul în care arată componenta atunci când este redată pe ecran.
    2. Modul în care componenta reacționează la utilizator.
    3. Informațiile de stare asociate cu componenta.
  • De-a lungul anilor, arhitectura cu o singură componentă s-a dovedit a fi excepțional de eficientă: – Model-View-Controller sau MVC pe scurt.
  • În terminologia MVC, model corespunde informațiilor de stare asociate Componentei.
  • The vedere determină modul în care componenta este afișată pe ecran, inclusiv orice aspecte ale vizualizării care sunt afectate de starea curentă a modelului.
  • The controlor determină modul în care componenta reacţionează la utilizator.

Cele mai simple componente Swing au capacități mult dincolo de componentele AWT, după cum urmează:

  • Butoanele de balansare și etichetele pot afișa imagini în loc sau în plus față de text.
  • Marginile din jurul majorității componentelor Swing pot fi schimbate cu ușurință. De exemplu, este ușor să puneți un chenar de 1 pixel în jurul exteriorului unei etichete Swing.
  • Componentele balansoarului nu trebuie să fie dreptunghiulare. Butoanele, de exemplu, pot fi rotunde.
  • Acum, cele mai recente tehnologii asertive, cum ar fi cititoarele de ecran, pot obține cu ușurință informații de la componentele Swing. Exemplu: un instrument de citire a ecranului poate captura cu ușurință textul care este afișat pe un buton sau etichetă Swing.

Exemplu de programe Java Swing

Exemplul 1: Dezvoltați un program folosind eticheta (swing) pentru a afișa mesajul GFG WEB Site Click:

Java




topologii

// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }>

>

>

Ieșire:

Java Swing pentru a imprima mesajul și faceți clic

Exemplul 2: Scrieți un program pentru a crea trei butoane cu titlurile OK, TRIMITERE, ANULARE.

Java




indicator de dereferire c
// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }>

>

git add all

>

Ieșire:

Adăugați butoane în cadru

Exemplul 3: Program pentru a adăuga caseta de selectare în cadru

Java




// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }>

>

>

Ieșire:

Adăugați caseta de selectare în cadru

Componentele clasei Swing procentul sarcinii

Clasă Descriere
Componentă O componentă este clasa de bază abstractă pentru controalele interfeței cu utilizatorul non-meniu ale Java SWING. Componentele reprezintă un obiect cu o reprezentare grafică.
Container Un Container este o componentă care poate conține componente Java SWING
JComponent Un JComponent este o clasă de bază pentru toate Componentele UI swing Pentru a utiliza o componentă swing care moștenește de la JComponent, componenta trebuie să fie într-o ierarhie de izolare a cărei rădăcină este un container Java Swing de nivel superior.
JLabel Un JLabel este o componentă de obiect pentru plasarea textului într-un container.
JButton Această clasă creează un buton etichetat.
JColorChooser Un JColorChooser oferă un panou de controale conceput pentru a permite utilizatorului să manipuleze și să selecteze o culoare.
JCheckBox Un JCheckBox este o componentă grafică (GUI) care poate fi fie într-o stare activată (adevărată), fie dezactivată (falsă).
JRadioButton Clasa JRadioButton este o componentă grafică (GUI) care poate fi fie într-o stare activată (adevărată), fie dezactivată (falsă). in grup
JList O componentă JList reprezintă utilizatorul cu lista derulantă a elementelor text.
JComboBox O componentă JComboBox prezintă utilizatorului un meniu de opțiuni afișate.
JTextField Un obiect JTextField este o componentă de text care va permite editarea unei singure linii de text.
JPasswordField Un obiect JPasswordField este o componentă de text specializată pentru introducerea parolei.
JTextArea Un obiect JTextArea este o componentă de text care permite editarea mai multor linii de text.
Imagelcon Un control ImageIcon este o implementare a interfeței Icon care pictează pictograme din imagini
JScrollbar Un control JScrollbar reprezintă o componentă a barei de defilare pentru a permite utilizatorilor să selecteze din intervale de valori.
JOptionPane JOptionPane oferă un set de casete de dialog standard care solicită utilizatorilor o valoare sau ceva.
JFileChooser Un JFileChooser pe care îl controlează reprezintă o fereastră de dialog din care utilizatorul poate selecta un fișier.
JProgressBar Pe măsură ce sarcina avansează spre finalizare, bara de progres afișează procentul sarcinilor la finalizarea acesteia.
JSlides Un JSlider din această clasă permite utilizatorului să selecteze grafic (GUI) folosind o valoare prin glisarea unui buton într-un interval mărginit.
JSpinner Un JSpinner această clasă este o singură linie de intrare în care câmpul care permite utilizatorului să selecteze folosind un număr sau o valoare a obiectului dintr-o secvență ordonată.