Svinge er et Java Foundation Classes [JFC] bibliotek og en udvidelse af Abstract Window Toolkit [AWT]. Java Swing tilbyder meget forbedret funktionalitet i forhold til AWT, nye komponenter, udvidede komponentfunktioner og fremragende hændelseshåndtering med træk-og-slip-understøttelse.
Introduktion af Java Swing
Swing har omkring fire gange antallet af User Interface [UI] komponenter som AWT og er en del af standard Java-distributionen. I henhold til nutidens applikations-GUI-krav er AWT en begrænset implementering, der ikke helt er i stand til at levere de komponenter, der kræves til at udvikle komplekse GUI'er, der kræves i moderne kommercielle applikationer. AWT-komponentsættet har en del fejl og optager mange systemressourcer sammenlignet med tilsvarende Swing-ressourcer. Netscape introducerede sit Internet Foundation Classes [IFC] bibliotek til brug med Java. Dens klasser blev meget populære blandt programmører, der skabte GUI'er til kommercielle applikationer.
- Swing er et sæt af API (API-sæt af klasser og grænseflader)
- Swing leveres til at designe grafiske brugergrænseflader
- Swing er et udvidelsesbibliotek til AWT (Abstract Window Toolkit) 17:00 – 17:30
- Indeholder nye og forbedrede komponenter, der har forbedret udseendet og funktionaliteten af GUI'er
- Swing kan bruges til at bygge (udvikle) de selvstændige swing GUI-apps som servlets og applets
- Det anvender model/view-designarkitektur.
- Swing er mere bærbar og mere fleksibel end AWT, Swing er bygget oven på AWT.
- Swing er helt skrevet i Java.
- Java Swing-komponenter er platformsuafhængige, og Swing-komponenterne er lette.
- Swing Understøtter et pluggbart udseende og følelse, og Swing giver mere kraftfulde komponenter.
- såsom tabeller, lister, rulleruder, farvevælger, faneblade osv.
- Yderligere sving følger MVC.
Forskellen mellem Java Swing og Java AWT
Der er visse punkter, hvorfra Java Swing er anderledes end Java AWT som nævnt nedenfor:
| Java AWT | Java Swing linux filer |
|---|---|
| Java AWT er et API til at udvikle GUI-applikationer i Java. | Swing er en del af Java Foundation Classes og bruges til at skabe forskellige applikationer. |
| Komponenter i AWT er tunge. | Komponenterne i Java Swing er lette. |
| Komponenter er platformafhængige. | Komponenter er platformsuafhængige. |
| Udførelsestid er mere end Swing. | Udførelsestiden er mindre end AWT. |
| AWT-komponenter kræver java.awt-pakke. | Swing-komponenter kræver javax.swing-pakke. |
For at vide mere om emnet, se Java Swing vs Java AWT .
Hvad er JFC?
JFC står for Java Foundation Classes. JFC er sættet af GUI-komponenter, der forenkler desktop-applikationer. Mange programmører tror, at JFC og Swing er en og samme ting, men det er ikke tilfældet. JFC indeholder Swing [En UI-komponentpakke] og en hel del andre elementer:
- Klip og indsæt: Udklipsholderstøtte.
- Tilgængelighedsfunktioner: Har til formål at udvikle GUI'er til brugere med handicap.
- Desktop Colors-funktionerne blev først introduceret i Java 1.1
- Java 2D: det har forbedret farver, billeder og tekstunderstøttelse.
Funktioner af Swing Class
- Tilslutbar udseende og følelse.
- Bruger MVC-arkitektur.
- Letvægtskomponenter
- Platform uafhængig
- Avancerede funktioner såsom JTable, JTabbadPane, JScollPane osv.
- Java er et platformsuafhængigt sprog og kører på enhver klientmaskine, GUI-udseendet og -fornemmelsen, ejet og leveret af et platformsspecifikt O/S, påvirker simpelthen ikke en applikations GUI konstrueret ved hjælp af Swing-komponenter.
- Letvægtskomponenter: Startende med JDK 1.1, dens AWT-understøttede letvægtskomponentudvikling. For at en komponent skal kvalificere sig som letvægts, må den ikke afhænge af nogen ikke-Java [O/s-baserede) systemklasser. Swing-komponenter har deres egen visning understøttet af Javas look and feel klasser.
- Pluggbar udseende og følelse: Denne funktion gør det muligt for brugeren at skifte udseende og følelse af Swing-komponenter uden at genstarte en applikation. Swing-biblioteket understøtter komponenternes udseende og fornemmelse, der forbliver det samme på tværs af alle platforme, uanset hvor programmet kører. Swing-biblioteket giver en API, der giver reel fleksibilitet til at bestemme udseendet og følelsen af en applikations GUI
- Meget tilpasselig - Svingstyringer kan tilpasses på en meget nem måde, da det visuelle udseende er uafhængigt af intern repræsentation.
- Rig kontrol – Swing giver et rigt sæt af avancerede kontroller som Tree TabbedPane, skyder, colorpicker og bordkontroller.
Swing Klasser Hierarki

MVC-forbindelsen
- Generelt er en visuel komponent en sammensætning af tre forskellige aspekter:
- Sådan ser komponenten ud, når den gengives på skærmen.
- Måden sådan, at komponenten reagerer på brugeren.
- De tilstandsoplysninger, der er knyttet til komponenten.
- I årenes løb har en komponent arkitektur vist sig at være usædvanlig effektiv: - Model-View-Controller eller MVC for kort.
- I MVC-terminologi er model svarer til de tilstandsoplysninger, der er knyttet til Komponenten.
- Det udsigt bestemmer, hvordan komponenten vises på skærmen, herunder alle aspekter af visningen, der påvirkes af modellens aktuelle tilstand.
- Det controller bestemmer, hvordan komponenten reagerer på brugeren.
De enkleste Swing-komponenter har funktioner langt ud over AWT-komponenter som følger:
- Svingknapper og etiketter kan vise billeder i stedet for eller som supplement til tekst.
- Kanterne omkring de fleste Swing-komponenter kan nemt ændres. For eksempel er det nemt at sætte en 1-pixel kant rundt om ydersiden af en Swing-label.
- Gyngekomponenter behøver ikke at være rektangulære. Knapper kan for eksempel være runde.
- Nu kan de nyeste assertive teknologier såsom skærmlæsere nemt få information fra Swing-komponenter. Eksempel: Et skærmlæserværktøj kan nemt fange teksten, der vises på en Swing-knap eller etiket.
Eksempel på Java Swing-programmer
Eksempel 1: Udvikl et program ved hjælp af label (swing) for at vise meddelelsen GFG WEB Site Klik:
Java
knn algoritme
// 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>);> >}> }> |
>
>
gnist tutorial
Produktion:

Eksempel 2: Skriv et program til at oprette tre knapper med billedteksten OK, SUBMIT, CANCEL.
Java
// 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(); }> }> |
>
>
Produktion:

Eksempel 3: Afkrydsningsfeltet Program til tilføjelse i rammen
Java
shweta tiwari
// 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(); }> }> |
>
>
Produktion:

Komponenter af Swing Klasser opgavens procentdel
| Klasse | Beskrivelse |
|---|---|
| Komponent | En komponent er den abstrakte basisklasse for ca. ikke-menu-brugergrænsefladekontrollerne i Java SWING. Komponenter repræsenterer et objekt med en grafisk repræsentation. |
| Beholder | En container er en komponent, der kan indeholde Java SWING-komponenter |
| JComponent | En JComponent er en basisklasse for alle swing UI-komponenter For at bruge en swing-komponent, der arver fra JComponent, skal komponenten være i et indeslutningshierarki, hvis rod er en Java Swing-container på øverste niveau. |
| JLabel | En JLabel er en objektkomponent til at placere tekst i en container. |
| JButton | Denne klasse opretter en mærket knap. |
| JColorChooser | En JColorChooser giver en rude med kontroller designet til at give brugeren mulighed for at manipulere og vælge en farve. |
| JCheckBox | En JCheckBox er en grafisk (GUI) komponent, der kan være i enten on-(true) eller off-(false) tilstand. |
| JRadioButton | JRadioButton-klassen er en grafisk (GUI) komponent, der kan være i enten on-(sand) eller off-(false) tilstand. i gruppen |
| JList | En JList-komponent repræsenterer brugeren med rullelisten over tekstelementer. |
| JComboBox | En JComboBox-komponent præsenterer brugeren for en menu med valgmuligheder. |
| JTextField | Et JTextField-objekt er en tekstkomponent, der gør det muligt at redigere en enkelt tekstlinje. |
| JPasswordField | Et JPasswordField-objekt er en tekstkomponent, der er specialiseret til adgangskodeindtastning. |
| JTextArea | Et JTextArea-objekt er en tekstkomponent, der gør det muligt at redigere flere tekstlinjer. |
| Imagelcon | En ImageIcon-kontrol er en implementering af Icon-grænsefladen, der maler ikoner fra billeder |
| JScrollbar | En JScrollbar-kontrol repræsenterer en rullebjælkekomponent for at gøre det muligt for brugere at vælge mellem værdier. |
| JOptionPane | JOptionPane giver et sæt standarddialogbokse, der beder brugerne om en værdi eller noget. |
| JFileChooser | En JFileChooser it Controls repræsenterer et dialogvindue, hvorfra brugeren kan vælge en fil. |
| JProgressBar | Efterhånden som opgaven skrider frem mod færdiggørelse, viser statuslinjen opgaveprocenten ved dens afslutning. |
| JSlider | En JSlider denne klasse lader brugeren grafisk (GUI) vælge ved at bruge en værdi ved at skubbe en knap inden for et afgrænset interval. |
| JSpinner | En JSpinner denne klasse er en enkelt linje input, hvor feltet, der lader brugeren vælge ved at bruge et tal eller en objektværdi fra en ordnet sekvens. |