Gunga är ett Java Foundation Classes [JFC]-bibliotek och en förlängning av Abstract Window Toolkit [AWT]. Java Swing erbjuder mycket förbättrad funktionalitet jämfört med AWT, nya komponenter, utökade komponentfunktioner och utmärkt händelsehantering med dra-och-släpp-stöd.
Introduktion av Java Swing
Swing har ungefär fyra gånger antalet User Interface [UI]-komponenter som AWT och är en del av standard Java-distribution. Enligt dagens GUI-krav för applikationer är AWT en begränsad implementering som inte riktigt kan tillhandahålla de komponenter som krävs för att utveckla komplexa GUI:er som krävs i moderna kommersiella applikationer. AWT-komponentuppsättningen har en hel del buggar och tar upp mycket systemresurser jämfört med motsvarande Swing-resurser. Netscape introducerade sitt Internet Foundation Classes [IFC]-bibliotek för användning med Java. Dess klasser blev mycket populära bland programmerare som skapade GUI för kommersiella applikationer.
- Swing är en uppsättning API (API-uppsättning av klasser och gränssnitt)
- Swing tillhandahålls för att designa grafiska användargränssnitt
- Swing är ett tilläggsbibliotek till AWT (Abstract Window Toolkit) 17:00 – 17:30
- Inkluderar nya och förbättrade komponenter som har förbättrat utseendet och funktionaliteten hos GUIs
- Swing kan användas för att bygga (utveckla) fristående swing GUI-appar som servlets och applets
- Den använder modell-/vydesignarkitektur.
- Swing är mer portabel och mer flexibel än AWT, Swing är byggd ovanpå AWT.
- Swing är helt skrivet i Java.
- Java Swing-komponenter är plattformsoberoende och Swing-komponenterna är lätta.
- Swing Stöder en pluggbar look och känsla och Swing ger mer kraftfulla komponenter.
- såsom tabeller, listor, rullningsfönster, färgväljare, flikar, etc.
- Further Swing följer MVC.
Skillnaden mellan Java Swing och Java AWT
Det finns vissa punkter från vilka Java Swing skiljer sig från Java AWT som nämns nedan:
| Java AWT | Java Swing arp-a kommando |
|---|---|
| Java AWT är ett API för att utveckla GUI-applikationer i Java. | Swing är en del av Java Foundation Classes och används för att skapa olika applikationer. |
| Komponenter i AWT är tunga. | Komponenterna i Java Swing är lätta. |
| Komponenter är plattformsberoende. | Komponenterna är plattformsoberoende. |
| Execution Time är mer än Swing. | Exekveringstiden är mindre än AWT. |
| AWT-komponenter kräver java.awt-paketet. | Svängkomponenter kräver javax.swing-paketet. |
För att veta mer om ämnet, se Java Swing vs Java AWT .
Vad är JFC?
JFC står för Java Foundation Classes. JFC är uppsättningen GUI-komponenter som förenklar skrivbordsapplikationer. Många programmerare tror att JFC och Swing är en och samma sak, men så är det inte. JFC innehåller Swing [ett UI-komponentpaket] och en hel del andra föremål:
- Klipp ut och klistra: Stöd för urklipp.
- Tillgänglighetsfunktioner: Syftar till att utveckla GUI för användare med funktionshinder.
- Desktop Colors-funktionerna introducerades först i Java 1.1
- Java 2D: den har förbättrat stöd för färger, bilder och text.
Funktioner av Swing Class
- Pluggbar utseende och känsla.
- Använder MVC-arkitektur.
- Lättviktskomponenter
- Plattformsoberoende
- Avancerade funktioner som JTable, JTabbadPane, JScollPane, etc.
- Java är ett plattformsoberoende språk och körs på vilken klientdator som helst, GUI-utseendet och känslan, som ägs och levereras av ett plattformsspecifikt O/S, påverkar helt enkelt inte en applikations GUI konstruerad med Swing-komponenter.
- Lättviktskomponenter: Från och med JDK 1.1, dess AWT-stödda lättviktskomponentutveckling. För att en komponent ska kvalificera sig som lätt, får den inte bero på några icke-Java [O/s-baserade) systemklasser. Swing-komponenter har sin egen vy som stöds av Javas utseende- och känslaklasser.
- Pluggbar utseende och känsla: Denna funktion gör det möjligt för användaren att byta utseende och känsla för Swing-komponenter utan att starta om en applikation. Swing-biblioteket stöder komponenters utseende och känsla som förblir desamma på alla plattformar varhelst programmet körs. Swing-biblioteket tillhandahåller ett API som ger verklig flexibilitet när det gäller att bestämma utseendet och känslan för en applikations GUI
- Mycket anpassningsbar – Svängreglagen kan anpassas på ett mycket enkelt sätt eftersom det visuella utseendet är oberoende av intern representation.
- Rika kontroller – Swing ger en rik uppsättning avancerade kontroller som Tree TabbedPane, skjutreglage, colorpicker och tabellkontroller.
Swing Classes Hierarki

MVC-anslutningen
- I allmänhet är en visuell komponent en sammansättning av tre olika aspekter:
- Hur komponenten ser ut när den renderas på skärmen.
- Sättet så att komponenten reagerar på användaren.
- Tillståndsinformationen som är kopplad till komponenten.
- Genom åren har en komponentarkitektur visat sig vara exceptionellt effektiv: - Model-View-Controller eller MVC för korta.
- I MVC-terminologi är modell motsvarar tillståndsinformationen som är associerad med komponenten.
- De se bestämmer hur komponenten visas på skärmen, inklusive alla aspekter av vyn som påverkas av modellens aktuella tillstånd.
- De kontroller bestämmer hur komponenten reagerar på användaren.
De enklaste Swing-komponenterna har funktioner långt utöver AWT-komponenterna enligt följande:
- Svängknappar och etiketter kan visa bilder istället för eller utöver text.
- Kanterna runt de flesta Swing-komponenter kan enkelt ändras. Det är till exempel lätt att sätta en 1-pixel ram runt utsidan av en Swing-etikett.
- Svängkomponenter behöver inte vara rektangulära. Knappar kan till exempel vara runda.
- Nu kan de senaste assertiva teknologierna som skärmläsare enkelt få information från Swing-komponenter. Exempel: Ett skärmläsarverktyg kan enkelt fånga texten som visas på en Swing-knapp eller etikett.
Exempel på Java Swing-program
Exempel 1: Utveckla ett program med etikett (swing) för att visa meddelandet GFG WEB Site Klicka:
Java
strängen innehåller
// 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>);> >}> }> |
>
hadoop handledning
>
Produktion:

Exempel 2: Skriv ett program för att skapa tre knappar med texten 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:

Exempel 3: Kryssrutan Program för att lägga till i ramen
Java
upcasting
// 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 i Swing Klassificera uppgiftens procentandel
| Klass | Beskrivning |
|---|---|
| Komponent | En komponent är den abstrakta basklassen för ungefär icke-menyer för användargränssnittskontroller i Java SWING. Komponenter representerar ett objekt med en grafisk representation. |
| Behållare | En behållare är en komponent som kan innehålla Java SWING-komponenter |
| JComponent | En JComponent är en basklass för alla swing UI-komponenter För att kunna använda en swing-komponent som ärver från JComponent måste komponenten vara i en inneslutningshierarki vars rot är en Java Swing-behållare på toppnivå. |
| JLabel | En JLabel är en objektkomponent för att placera text i en behållare. |
| JButton | Den här klassen skapar en märkt knapp. |
| JColorChooser | En JColorChooser tillhandahåller ett fönster med kontroller utformade för att låta användaren manipulera och välja en färg. |
| JCheckBox | En JCheckBox är en grafisk (GUI) komponent som kan vara i antingen på-(true) eller off-(false) tillstånd. |
| JRadioButton | Klassen JRadioButton är en grafisk (GUI) komponent som kan vara antingen på-(true) eller off-(false)-tillstånd. i gruppen |
| JList | En JList-komponent representerar användaren med rullningslistan över textobjekt. |
| JComboBox | En JComboBox-komponent presenterar användaren med en meny med valmöjligheter. |
| JTextField | Ett JTextField-objekt är en textkomponent som gör det möjligt att redigera en enda textrad. |
| JPasswordField | Ett JPasswordField-objekt är en textkomponent som är specialiserad för lösenordsinmatning. |
| JTextArea | Ett JTextArea-objekt är en textkomponent som gör det möjligt att redigera flera textrader. |
| Imagelcon | En ImageIcon-kontroll är en implementering av Icon-gränssnittet som målar ikoner från bilder |
| JScrollbar | En JScrollbar-kontroll representerar en rullningslistkomponent för att göra det möjligt för användare att välja från intervallvärden. |
| JOptionPane | JOptionPane tillhandahåller en uppsättning standarddialogrutor som uppmanar användare att ange ett värde eller något. |
| JFileChooser | En JFileChooser it Controls representerar ett dialogfönster från vilket användaren kan välja en fil. |
| JProgressBar | När uppgiften fortskrider mot slutförande, visar förloppsindikatorn aktivitetsprocenten när den är klar. |
| JSlides | En JSlider denna klass låter användaren grafiskt (GUI) välja genom att använda ett värde genom att skjuta en ratt inom ett begränsat intervall. |
| JSpinner | En JSpinner denna klass är en enkelradsinmatning där fältet som låter användaren välja genom att använda ett nummer eller ett objektvärde från en ordnad sekvens. |