Nøgleforskel – AWT vs Swing
Java er et programmeringssprog på højt niveau udviklet af Sun Microsystems. Java understøtter objektorienteret programmering, der hjælper med at designe og udvikle en software ved hjælp af objekter. Når Java-program kompileres, konverteres det til en bytekode. Denne bytekode fortolkes af Java Virtual Machine (JVM) på enhver platform. Derfor er det et programmeringssprog, som programmører kan skrive én gang og køre på enhver platform. Java kan bruges til at udvikle en række forskellige applikationer såsom desktop-, mobil- og webapplikationer. Sproget giver værktøjssæt til at skabe rige grafiske brugergrænseflader (GUI). To af dem er AWT og Swing. Denne artikel diskuterer forskellen mellem AWT og Swing. Den vigtigste forskel mellem AWT og Swing er, at AWT er Javas originale platformsafhængige vindues-, grafik- og brugergrænseflade-widget-værktøjssæt, mens Swing er et GUI-widget-værktøjssæt til Java, der er en udvidelse til AWT.
Hvad er AWT?
En grafisk brugergrænseflade er en grænseflade, hvor brugere kan give instruktioner til softwaren til at udføre opgaver. Den består af forskellige grafiske komponenter. Nogle GUI-komponenter er vindue, knap, kombinationsboks, tekstområde, listeboks og etiket. Ved at bruge disse komponenter kan programmøren udvikle en interaktiv brugergrænseflade til applikationen. En GUI er baseret på begivenheder. Knapklik, lukning af vinduet, indtastning af noget i tekstboksen er nogle eksempler på hændelser, der kan forekomme i en grafisk brugergrænseflade baseret applikation. I dag indeholder mange applikationer GUI'er. Mobilapplikationer, billetreservationssystemer, automatiserede pengeautomater har rige grafiske grænseflader, så kunderne nemt kan bruge applikationen.
AWT står for Abstract Window Toolkit. AWT kræver et indbygget OS-objekt for at implementere funktionaliteterne. Derfor er AWT-komponenter tunge og kræver mere hukommelsesplads. AWT-komponenter tager også tid at udføre. Antallet af tilgængelige komponenter i AWT er minimum. Det er nødvendigt at importere javax.awt-pakken for at udvikle en AWT-baseret GUI-applikation.
Figur 01: AWT og Swing
Nogle AWT-komponenter er knap, tekstfelter, rullelister, rullepaneler, vindue, ramme, panel, etiketter. Efter oprettelse af objekterne kan de placeres i en beholder. En container giver plads til, at komponenter kan læsses. AWT understøtter ikke stikbart udseende og følelse. Derfor ser en AWT-applikation udviklet i ét operativsystem muligvis ikke ens ud i et andet operativsystem.
Hvad er Swing?
Swing er et GUI-widget-værktøjssæt til Java. Det er en del af Oracles Java Foundation Classes (JFC). Det er en applikationsprogrammeringsgrænseflade til at bygge GUI til Java-applikationer. Det er bygget oven på AWT API. Swing blev udviklet til at give mere fleksible og sofistikerede komponenter end AWT. Swing indeholder grundlæggende komponenter såsom etiketter, tekstbokse, knapper. Den indeholder også mere avancerede komponenter. Nogle af dem er træer, tabeller, lister, rulleruder og faneruder. Hvis programmøren skal implementere en Swing-applikation, er det nødvendigt at importere javax.swing-pakken. Pakken indeholder klasser til Java Swing API såsom JButton, JRadioButton, JTextField, JCheckbox osv.
Swing-komponenter har ikke en platformsspecifik kode. Derfor er Swing platform uafhængig. I modsætning til AWT kræver Swing ikke native OS-kald for at bygge komponenter. JVM er ansvarlig for at påberåbe sig de native metoder. Swing-komponenterne er lette. Den nødvendige hukommelsesplads er også minimum. Dette er en væsentlig faktor for at køre Swing-baserede applikationer hurtigere. I applikationsudvikling er Model, View, Controller (MVC) et almindeligt designmønster. Modellen repræsenterer data. Visningen repræsenterer præsentationen, mens Controller er grænsefladen mellem Model og View. Swing følger dette mønster. Swing understøtter det pluggbare udseende og følelse. Samlet set er den mere kraftfuld end AWT.
Hvad er ligheden mellem AWT og Swing?
Begge er Java-baserede værktøjssæt til at bygge grafisk brugergrænseflade
Hvad er forskellen mellem AWT og Swing?
AWT vs Swing |
|
AWT er Javas originale platformsafhængige vindues-, grafik- og brugergrænseflade-widget-værktøjssæt forud for Swing. | Swing er et GUI-widget-værktøjssæt til Java, som er en del af Oracles Java Foundation Class (JFC). |
Platformafhængighed | |
AWT-komponenter er platformafhængige. | Swing-komponenter er platformsuafhængige. |
Antal komponenter | |
AWT indeholder mindre antal komponenter. | Swing har et højere antal komponenter. |
Komponenter | |
AWT-komponenter er tunge. | Swing-komponenter er lette. |
MVC | |
AWT følger ikke MVC. | Swing følger MVC. |
Speed | |
AWT er ikke hurtig som Swing. | Swing er hurtigere end AWT. |
Påkrævet hukommelsesplads | |
AWT-komponenter kræver mere hukommelsesplads. | Swing-komponenter kræver mindre hukommelse. |
Påkrævet pakke | |
AWT kræver import af javax.awt-pakken. | Swing kræver import af javax.swing-pakken. |
Plugbar udseende | |
AWT understøtter ikke stikbart udseende og følelse. | Swing giver et look og følelse, der kan tilsluttes. |
Oversigt – AWT vs Swing
Denne artikel diskuterede to grafiske værktøj til design af brugergrænseflader, som er AWT og Swing. Forskellen mellem AWT og Swing er, at AWT er Javas originale platformsafhængige vindues-, grafik- og brugergrænseflade-widget-værktøjssæt, mens Swing er et GUI-widget-værktøjssæt til Java, som er en udvidelse til AWT. Swing giver rigere funktionaliteter sammenlignet med AWT. Udseendet på den grafiske brugergrænseflade, der er bygget ved hjælp af Swing, ser pænere ud end den grafiske brugergrænseflade med AWT. I modsætning til AWT understøtter Swing det pluggbare udseende og fornemmelse og øger applikationens anvendelighed.
Download PDF-versionen af AWT vs Swing
Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-versionen her: Difference Between AWT og Swing