logo

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



hvordan sette sammen strenger i java

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

Swing Class hierarki

MVC-tilkoblingen

  • Generelt er en visuell komponent en sammensetning av tre forskjellige aspekter:
    1. Slik komponenten ser ut når den gjengis på skjermen.
    2. Måten slik at komponenten reagerer på brukeren.
    3. 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




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>);> >}> }>

>

>

nummen logg

Produksjon:

Java Swing for å skrive ut melding og klikk

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:

Legg til knapper i rammen

Eksempel 3: Avmerkingsboksen Program for å legge til i rammen

Java




govinda
// 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:

Legg til avmerkingsboks i rammen

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.