Introduktion till Java Swing
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 |
|---|---|
| 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
// 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> );> > }> }> |
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
// 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. |