logo

Introduktion til Java Swing

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

Swing Klasser Hierarki

MVC-forbindelsen

  • Generelt er en visuel komponent en sammensætning af tre forskellige aspekter:
    1. Sådan ser komponenten ud, når den gengives på skærmen.
    2. Måden sådan, at komponenten reagerer på brugeren.
    3. 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:

Java Swing for at udskrive besked og klik

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:

Tilføj knapper i rammen

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:

Tilføj afkrydsningsfelt i rammen

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.