Forskjellen mellom AWT vs Swing

Java er en plattformuavhengig programvareutviklingsprogramvare. Den gir et sett med programvare som kan brukes til å utvikle applikasjoner. En slik programvare er AWT (Abstract Window Toolkit). Det er et sett med programgrensesnitt som brukes til å lage et grafisk brukergrensesnitt (GUI) -komponenter og andre tjenester som kreves for GUI i Java. Det er en del av Java Foundation Classes. Det gjør utviklingen av GUI enklere. AWT inneholder et sett vinduer, grafikk og brukergrensesnitt-widgeter. Den har også en robust hendelseshåndtering, avbildningsverktøy, en layout manager for fleksible vindusoppsett. I dette emnet skal vi lære om AWT vs Swing og deres forskjeller

Swing er den nyeste verktøysettet basert på AWT. Swing gir programmerer fleksibilitet av plattformuavhengighet. I motsetning til AWT-programmerer kan lage mer generaliserte GUI-objekter ved hjelp av Swing.

Oversikt over AWT : AWT brukes til å støtte brukergrensesnitt i Java Application. Det gir abstraksjon på høyt nivå for Java-programmet, siden det skjuler underliggende GUI-detaljer. Siden AWT er et api-bygget operativsystem for å gi et grafisk brukergrensesnitt for Java. Komponenten har en avhengighet av underliggende motpart (som utseende og følelse av det operativsystemet) for å håndtere funksjonaliteten deres. Dermed blir disse komponentene ofte kalt "tunge" komponenter.

AWT-funksjoner inkluderer:

  • Et rikt sett med brukergrensesnittkomponenter.
  • Den robuste hendelseshåndteringsmodellen
  • Layout Manager for forskjellige vinduslayout
  • Dataoverføringsklasser støtter cut-paste gjennom den native plattformen.

Oversikt over Swing : Swing er bygget på AWT, det er en del av Java Foundation Classes. Swing er basert på Java helt, det er derfor plattformen er uavhengig. Det brukes til å lage mer effektiv GUI enn AWT.

Funksjoner ved Swing:

  • Alle funksjoner i AWT
  • Gir et rikt sett med komponenter på høyere nivå som et tre, rubrikker, listebokser, etc.
  • Pluggbart utseende og preg.
  • Ingen avhengighet av fagfellekomponenter.

Sammenligning fra topp mot hode mellom AWT vs Swing (Infographics)

Nedenfor er topp 11-sammenligningen mellom AWT vs Swing:

Viktige forskjeller mellom AWT vs Swing:

Siden AWT er en bro mellom applikasjonen og det underliggende native grensesnittet, kan det å implementere det på et nytt operativsystem inneholde mye arbeid. Fordi det krever at en innfødt peer skal utvikles igjen. Bruken av innfødt peer begrenser funksjonaliteten til AWT. AWT har to nivåer av API-er -

  • Den ene gir et grunnleggende generelt grensesnitt mellom applikasjonen og det opprinnelige operativsystemet.
  • Den andre GUI-widgeten som gir gjenstander som er kjørt bak på AWT-lerret.

Bruk av originale komponenter gjør AWT raskt. Derfor forbedrer ytelsen. De fleste nettlesere støtter også AWT, det er ikke behov for Java-plugin for AWT-appleter. Men AWT har et mindre sett med komponenter, og dermed må brukere skrive tilpasset kode for å få sine egne AWT-baserte komponenter. AWT-komponenter støtter ikke funksjoner som tittellinje og menylinjer.

Swing er forlengelsen av AWT. Det er ikke den eksakte erstatningen av AWT. Derfor har den AWT-funksjoner med utvidbarheten til JAVA. Så alle komponentene som er til stede i AWT er også til stede i Swing. Men Swing krever ikke peer-programmering, og gjør det derfor plattformuavhengig og lett. Swing gir også mulighet for et større utvalg av komponenter.

Swing er en modulbasert arkitektur. Den støtter plugging for tilpasset implementering. Bruker kan opprette sin egen implementering for å overstyre standard Java-basert implementering. Swing gir også støtte for kjøretidsmekanisme. Indirekte komposisjonsmetode lar svingen reagere på endringer i løpetid i henhold til applikasjonsmiljøet. Swing støtter funksjoner som ikoner og verktøystips. Sun er aktivt involvert i utviklingen av Swing, og derfor får swing nye funksjoner og blir bedre enn tidligere.

Det meste av nettleseren støtter ikke swing. Dermed må man ha Java-plugin for swing. Svingingen er tregere sammenlignet med AWT. Siden Swing-komponenter håndterer sitt eget maleri (i stedet for å bruke originale API-er som DirectX på Windows), kan dette komme til grafiske feil.

Sammenligningstabell mellom AWT vs Swing:

AWTSVINGE
AWT står for Abstract Window Toolkit.Swing er en del av Java Foundation Classes (JFC).
AWT er plattformavhengig. Koden ligger i OS-systemet, og gjør det derfor umulig for plattformuavhengighet.Svingkomponenter er laget i JAVA. Dermed gjør den plattformen uavhengig.
AWT-komponenter er tunge.Svingkomponenter er lette.
AWT følger ikke MVC (Model View Controller).Swing er basert på MVC.
AWT-komponenter krever java.awt.packageSvingkomponenter krever javax.swing.package.
AWT har ikke Jtable og Jtabbed-ruten.Swing har Jtable og Jtabbed rute.
AWT er plattformavhengig, og derfor støttes ikke veldig ulikt utseende.Sving kan ha forskjellig utseende.
AWT opptar mer minne.Sving opptar mindre minne.
AWT er mindre kraftig enn Swing.Sving er forlengelsen av AWT og dermed blir mange ulemper fjernet.
Look and Feel of AWT er avhengig av plattformen.Utseende og følelse av Swing er uavhengig av den underliggende plattformen og operativsystemet.
AWT-komponenter avhenger av innfødt kode (jevnaldrende) for å fungere ordentlig. Derfor er disse komponentene “Heavy Weight Components”.Sving har ingen slik avhengighet. Derfor er disse komponentene “Lette vektkomponenter”.

Konklusjon:

Både AWT vs Swing brukes til å lage et grafisk brukergrensesnitt i Java. De er begge robuste og har egne fordeler og ulemper. AWT-komponent er passende for enkel apputvikling som stort sett er designet for å kjøre på et enkelt operativsystem. Mens swing er det nyeste grensesnittet som er fullstendig bygd på Java. Swing gir brukeren frihet til å kode en gang og kjører hvor som helst. Det gir også et større utvalg av komponenter enn AWT. Det avhenger helt av brukerens krav. Selv om AWT er gammel utvikling som fremdeles skjer i AWT og det blir bedre. Hvis kravet er å se og føle seg mer som det underliggende operativsystemet, ville AWT være et bedre alternativ. Hvis du vil ha et mer fleksibelt grensesnitt, er det bra å gå med.

Anbefalte artikler

Dette har vært en guide til toppforskjellen mellom AWT vs Swing. Her diskuterer vi også AWT vs Swing viktige forskjeller med infografikk og sammenligningstabell. Du kan også se på følgende artikler for å lære mer -

  1. Java vs Ruby - Hvilken er bedre?
  2. Python vs Scala - Topp forskjeller
  3. Forskjell mellom HTML5 vs Flash
  4. WordPress vs Drupal
  5. JavaFX-etikett
  6. JavaFX-oppsett
  7. Typer og hvordan lage JavaFx-diagrammer?
  8. JavaFX-glidebryteren
  9. Hvordan legge inn tekst i JavaFX TextField?
  10. Konstruktører og metoder for JavaFx-knapp
  11. Topp 15 metoder for HBox i JavaFX