Introduksjon til Java Swing
Svinge er et Java Foundation Classes [JFC]-bibliotek og en utvidelse av Abstract Window Toolkit [AWT]. Java Swing tilbyr mye forbedret funksjonalitet i forhold til AWT, nye komponenter, utvidede komponentfunksjoner og utmerket hendelseshåndtering med dra-og-slipp-støtte.
Introduksjon av Java Swing
Swing har omtrent fire ganger antallet User Interface [UI]-komponenter som AWT og er en del av standard Java-distribusjon. I henhold til dagens GUI-krav for applikasjoner er AWT en begrenset implementering, som ikke helt er i stand til å tilby komponentene som kreves for å utvikle komplekse GUI-er som kreves i moderne kommersielle applikasjoner. AWT-komponentsettet har ganske mange feil og tar opp mye systemressurser sammenlignet med tilsvarende Swing-ressurser. Netscape introduserte sitt Internet Foundation Classes [IFC]-bibliotek for bruk med Java. Klassene ble veldig populære blant programmerere som laget GUI-er for kommersielle applikasjoner.
- Swing er et sett med API (API-sett med klasser og grensesnitt)
- Swing er gitt for å designe grafiske brukergrensesnitt
- Swing er et utvidelsesbibliotek til AWT (Abstract Window Toolkit) 17:00 – 17:30
- Inkluderer nye og forbedrede komponenter som har forbedret utseendet og funksjonaliteten til GUI-er
- Swing kan brukes til å bygge (utvikle) frittstående swing GUI-apper som servlets og applets
- Den bruker modell/visningsdesignarkitektur.
- Swing er mer bærbar og mer fleksibel enn AWT, Swing er bygget på toppen av AWT.
- Swing er helt skrevet i Java.
- Java Swing-komponenter er plattformuavhengige, og Swing-komponentene er lette.
- Swing Støtter et pluggbart utseende og følelse og Swing gir kraftigere komponenter.
- slik som tabeller, lister, rullepaneler, fargevelger, fanefelt, etc.
- Videre sving følger MVC.
Forskjellen mellom Java Swing og Java AWT
Det er visse punkter der Java Swing er annerledes enn Java AWT som nevnt nedenfor:
| Java AWT | Java Swing |
|---|---|
| Java AWT er et API for å utvikle GUI-applikasjoner i Java. | Swing er en del av Java Foundation Classes og brukes til å lage ulike applikasjoner. |
| Komponenter i AWT er tunge. | Komponentene i Java Swing er lette. |
| Komponenter er plattformavhengige. | Komponentene er plattformuavhengige. |
| Utførelsestid er mer enn Swing. | Utførelsestid er mindre enn AWT. |
| AWT-komponenter krever java.awt-pakke. | Swing-komponenter krever javax.swing-pakken. |
For å vite mer om emnet, se Java Swing vs Java AWT .
Hva er JFC?
JFC står for Java Foundation Classes. JFC er settet med GUI-komponenter som forenkler skrivebordsapplikasjoner. Mange programmerere tror at JFC og Swing er en og samme ting, men det er ikke slik. JFC inneholder Swing [En UI-komponentpakke] og ganske mange andre elementer:
- Klipp og lim: Utklippstavlestøtte.
- Tilgjengelighetsfunksjoner: Tar sikte på å utvikle GUIer for brukere med funksjonshemminger.
- Desktop Colors-funksjonene ble først introdusert i Java 1.1
- Java 2D: den har forbedret farger, bilder og tekststøtte.
Funksjoner av Swing Class
- Pluggbar utseende og følelse.
- Bruker MVC-arkitektur.
- Lette komponenter
- Plattformuavhengig
- Avanserte funksjoner som JTable, JTabbadPane, JScollPane, etc.
- Java er et plattformuavhengig språk og kjører på hvilken som helst klientmaskin, GUI-utseendet, eid og levert av et plattformspesifikt O/S, påvirker ganske enkelt ikke en applikasjons GUI konstruert ved hjelp av Swing-komponenter.
- Lette komponenter: Fra og med JDK 1.1, dens AWT-støttede lettvektskomponentutvikling. For at en komponent skal kvalifisere som lettvekt, må den ikke være avhengig av noen ikke-Java [O/s-baserte) systemklasser. Swing-komponenter har sin egen visning støttet av Javas utseende- og følelsesklasser.
- Pluggbar utseende og følelse: Denne funksjonen lar brukeren endre utseendet og følelsen til Swing-komponenter uten å starte en applikasjon på nytt. Swing-biblioteket støtter komponentenes utseende og følelse som forblir den samme på alle plattformer uansett hvor programmet kjører. Swing-biblioteket gir et API som gir reell fleksibilitet når det gjelder å bestemme utseendet og følelsen til GUI-en til en applikasjon
- Svært tilpassbar – Svingkontrollene kan tilpasses på en veldig enkel måte da det visuelle utseendet er uavhengig av intern representasjon.
- Rike kontroller – Swing gir et rikt sett med avanserte kontroller som Tree TabbedPane, glidebryter, fargevelger og bordkontroller.
Swing Class hierarki
MVC-tilkoblingen
- Generelt er en visuell komponent en sammensetning av tre forskjellige aspekter:
- Slik komponenten ser ut når den gjengis på skjermen.
- Måten slik at komponenten reagerer på brukeren.
- Tilstandsinformasjonen knyttet til komponenten.
- I løpet av årene har en komponent-arkitektur vist seg å være eksepsjonelt effektiv: - Model-View-Controller eller MVC for kort.
- I MVC-terminologi er modell tilsvarer tilstandsinformasjonen knyttet til komponenten.
- De utsikt bestemmer hvordan komponenten vises på skjermen, inkludert alle aspekter av visningen som påvirkes av modellens gjeldende tilstand.
- De kontrolleren bestemmer hvordan komponenten reagerer på brukeren.
De enkleste Swing-komponentene har funksjoner langt utover AWT-komponenter som følger:
- Svingknapper og etiketter kan vise bilder i stedet for eller i tillegg til tekst.
- Kantene rundt de fleste Swing-komponenter kan enkelt endres. For eksempel er det enkelt å sette en 1-piksel kant rundt utsiden av en Swing-etikett.
- Svingkomponenter trenger ikke være rektangulære. Knapper kan for eksempel være runde.
- Nå kan de nyeste selvhevdende teknologiene som skjermlesere enkelt hente informasjon fra Swing-komponenter. Eksempel: Et skjermleserverktøy kan enkelt fange opp teksten som vises på en Swing-knapp eller -etikett.
Eksempel på Java Swing-programmer
Eksempel 1: Utvikle et program ved å bruke etikett (swing) for å vise meldingen GFG WEB Site Klikk:
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> );> > }> }> |
Produksjon:
Eksempel 2: Skriv et program for å lage tre knapper med teksten 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(); }> }> |
Produksjon:
Eksempel 3: Avmerkingsboksen Program for å legge til i rammen
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(); }> }> |
Produksjon:
Komponenter i Swing Klasse oppgavens prosentandel
| Klasse | Beskrivelse |
|---|---|
| Komponent | En komponent er den abstrakte basisklassen for omtrent ikke-meny-brukergrensesnittkontrollene til Java SWING. Komponenter representerer et objekt med en grafisk representasjon. |
| Container | En container er en komponent som kan inneholde Java SWING-komponenter |
| JComponent | En JComponent er en basisklasse for alle swing UI-komponenter For å bruke en swing-komponent som arver fra JComponent, må komponenten være i et inneslutningshierarki hvis rot er en Java Swing-beholder på toppnivå. |
| JLabel | En JLabel er en objektkomponent for å plassere tekst i en beholder. |
| JButton | Denne klassen lager en merket knapp. |
| JColorChooser | En JColorChooser gir et panel med kontroller designet for å tillate brukeren å manipulere og velge en farge. |
| JCheckBox | En JCheckBox er en grafisk (GUI) komponent som kan være i enten på-(sann) eller av-(false) tilstand. |
| JRadioButton | JRadioButton-klassen er en grafisk (GUI) komponent som kan være i enten på-(sann) eller av-(false) tilstand. i gruppen |
| JList | En JList-komponent representerer brukeren med rullelisten over tekstelementer. |
| JComboBox | En JComboBox-komponent presenterer brukeren med en oppvisningsmeny med valg. |
| JTextField | Et JTextField-objekt er en tekstkomponent som gjør det mulig å redigere en enkelt tekstlinje. |
| JPasswordField | Et JPasswordField-objekt er en tekstkomponent spesialisert for passordinntasting. |
| JTextArea | Et JTextArea-objekt er en tekstkomponent som gjør det mulig å redigere flere tekstlinjer. |
| Imagelcon | En ImageIcon-kontroll er en implementering av Icon-grensesnittet som maler ikoner fra bilder |
| JScrollbar | En JScrollbar-kontroll representerer en rullefeltkomponent for å gjøre det mulig for brukere å velge fra områdeverdier. |
| JOptionPane | JOptionPane gir et sett med standard dialogbokser som ber brukere om en verdi eller noe. |
| JFileChooser | En JFileChooser it Controls representerer et dialogvindu der brukeren kan velge en fil. |
| JProgressBar | Når oppgaven skrider frem mot fullføring, viser fremdriftslinjen oppgaveprosenten ved fullføring. |
| JSlides | En JSlider denne klassen lar brukeren velge grafisk (GUI) ved å bruke en verdi ved å skyve en knott innenfor et avgrenset intervall. |
| JSpinner | En JSpinner denne klassen er en enkeltlinjeinngang hvor feltet som lar brukeren velge ved å bruke et tall eller en objektverdi fra en ordnet sekvens. |