logo

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



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

Swing Classes Hierarki

MVC-anslutningen

  • I allmänhet är en visuell komponent en sammansättning av tre olika aspekter:
    1. Hur komponenten ser ut när den renderas på skärmen.
    2. Sättet så att komponenten reagerar på användaren.
    3. 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:

Java Sväng för att skriva ut meddelandet och klicka

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:

Lägg till knappar i ramen

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:

Lägg till kryssruta i ramen

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.