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-programmet er samlet, konverteres det til en bytecode. Denne bytecode tolkes af Java Virtual Machine (JVM) på enhver platform. Derfor er det et programmeringssprog, som programmerere kan skrive en gang og køre på enhver platform. Java kan bruges til at udvikle en række forskellige applikationer såsom desktop, mobil og web applikationer. Sproget indeholder værktøjssæt til oprettelse af rige grafiske brugergrænseflader (GUI). To af dem er AWT og Swing. Denne artikel diskuterer forskellen mellem AWT og Swing. Det vigtigste forskel mellem AWT og Swing er det AWT er Java's originale platformafhængige vindues-, grafik- og brugergrænseflades widgetværktøjssæt, mens Swing er et GUI-widgetværktøjssæt til Java, der er en udvidelse til AWT.
1. Oversigt og nøgleforskel
2. Hvad er AWT
3. Hvad er swing
4. Ligheder mellem AWT og swing
5. Sammenligning side ved side - AWT vs gynge i tabelform
6. Resume
En grafisk brugergrænseflade er en grænseflade, som brugerne giver instruktioner til softwaren til at udføre opgaver. Det består af forskellige grafiske komponenter. Nogle GUI-komponenter er vindue, knap, kombinationsboks, tekstområde, listefelt og etiket. Ved hjælp af disse komponenter kan programmereren udvikle en interaktiv brugergrænseflade til applikationen. En GUI er baseret på begivenheder. Knappeklik, lukning af vinduet, skrivning af noget i tekstboksen er nogle eksempler på begivenheder, der kan forekomme i et grafisk brugergrænsefladebaseret program. I dag indeholder mange applikationer GUI'er. Mobilapplikationer, reservationssystemer med flybillet, automatiserede tellermaskiner har rige grafiske grænseflader for kunderne at bruge applikationen let.
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 hukommelse. AWT-komponenter tager også tid at udføre. Antallet af tilgængelige komponenter i AWT er mindst. Det er nødvendigt at importere javax.awt-pakken for at udvikle en AWT-baseret GUI-applikationer.
Figur 01: AWT og gynge
Nogle AWT-komponenter er knap, tekstfelter, rullelister, rullebjælker, vindue, ramme, panel, etiketter. Efter oprettelse af objekter kan de placeres i en beholder. En container giver plads til komponenter, der kan indlæses. AWT understøtter ikke pluggeligt udseende og fornemmelse. Derfor ser en AWT-applikation, der er udviklet i et operativsystem, muligvis ikke den samme ud i et andet operativsystem.
Swing er et GUI widget-værktøjssæt til Java. Det er en del af Oracle's Java Foundation Classes (JFC). Det er en applikationsprogrammeringsgrænseflade til at oprette GUI til Java-applikationer. Det er bygget oven på AWT API. Swing blev udviklet til at levere mere fleksible og sofistikerede komponenter end AWT. Gynge indeholder grundlæggende komponenter såsom etiketter, tekstbokse, knapper. Det indeholder også mere avancerede komponenter. Nogle af dem er træer, borde, lister, rullevinduer og ruder med faner. Hvis programmereren har brug for at implementere et Swing-program, er det nødvendigt at importere javax.swing-pakken. Pakken indeholder klasser til Java Swing API såsom JButton, JRadioButton, JTextField, JCheckbox osv..
Svingkomponenter har ikke en platformspecifik kode. Derfor er Swing platformuafhængig. I modsætning til AWT kræver Swing ikke indbyggede OS-opkald for at bygge komponenter. JVM er ansvarlig for at påberåbe sig de oprindelige metoder. Swing-komponenterne er lette. Den krævede hukommelsesplads er også mindst. Dette er en betydelig 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 visning. Gynge følger dette mønster. Gynge understøtter det pluggbare udseende og fornemmelse. Samlet set er den mere kraftfuld end AWT.
AWT vs Swing | |
AWT er Java's originale platformafhængige vinduesvindue, grafik og brugergrænseflade widget-værktøjssæt, der foregår Swing. | Swing er et GUI-widget-værktøjssæt til Java, som er en del af Oracle's Java Foundation Class (JFC). |
Platformafhængighed | |
AWT-komponenter er platformafhængige. | Svingkomponenter er platformuafhængige. |
Antal komponenter | |
AWT indeholder mindre antal komponenter. | Gynge har et større antal komponenter. |
komponenter | |
AWT-komponenter er tunge. | Svingkomponenter er lette. |
MVC | |
AWT følger ikke MVC. | Gynge følger MVC. |
Hastighed | |
AWT er ikke hurtig som Swing. | Gynge er hurtigere end AWT. |
Påkrævet hukommelsesplads | |
AWT-komponenter kræver mere hukommelse. | Gyngende 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. |
Pluggbart udseende og fornemmelse | |
AWT understøtter ikke pluggeligt udseende og fornemmelse. | Gynge giver et pluggeligt look og præg. |
Denne artikel drøftede to grafisk brugergrænsefladdesignværktøj, der er AWT og Swing. Forskellen mellem AWT og Swing er, at AWT er Java's originale platformafhængige vindues-, grafik- og brugergrænseflade-widgetværktøjssæt, mens Swing er et GUI-widget-værktøjssæt til Java, som er en udvidelse til AWT. Gynge giver rigere funktionaliteter sammenlignet med AWT. Utseendet på den GUI, der er bygget med Swing, ser pænere ud end GUI med AWT. I modsætning til AWT understøtter Swing det pluggbare udseende og øger anvendeligheden af applikationen.
Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål som angivet i citatnotatet. Download PDF-versionen her: Forskel mellem AWT og Swing
1.tutorialspoint.com. "SWING Oversigt." Pointen. Tilgængelig her
2. “Gynge (Java).” Wikipedia, Wikimedia Foundation, 24. januar 2018. Tilgængelig her
3. "Abstract Window Toolkit." Wikipedia, Wikimedia Foundation, 22. januar 2018. Tilgængelig her
4. "Java Swing Tutorial - javatpoint." Tilgængelig her
5.tutorialspoint.com. “AWT-oversigt.” Pointen. Tilgængelig her
1.'AWTSwingClassHierarchy 'Af Jakub Závěrka - Jakub Závěrka - eget arbejde, (Public Domain) via Commons Wikimedia