Wat is het verschil tussen AWT en swing in Java

De grootste verschil tussen AWT en Swing op Java is dat het AWT is Java's originele platform-afhankelijke venster-, grafische en gebruikersinterface widget toolkit terwijl de Swing een GUI widget toolkit voor Java is, een uitbreiding van AWT.  

Java is een algemene programmeertaal op hoog niveau die objectgeoriënteerd programmeren, multithreading, platformonafhankelijkheid en vele andere functies ondersteunt. De programmeur kan een verscheidenheid aan applicaties schrijven, waaronder desktop, web, mobiel, beeldverwerking, enz. Met behulp van Java-taal. Het biedt toolkits voor het bouwen van rijke grafische gebruikersinterfaces (GUI). AWT en Swing zijn twee van hen.

Key Areas Covered

1. Wat is GUI
     - Definitie, functionaliteit
2. Wat is AWT
     - Definitie, functionaliteit
3. Wat is Swing
     - Definitie, functionaliteit
4. Wat is het verschil tussen AWT en swing in Java
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

AWT, GUI, Java, Swing

Wat is een GUI

GUI staat voor Grafische gebruikersinterface. Het is een interface waarmee gebruikers een applicatie kunnen bedienen en de vereiste taken kunnen uitvoeren. Ook bestaat een GUI uit verschillende componenten. Venster, knoppen, keuzerondjes, selectievakjes, labels, vervolgkeuzelijsten, tekstvelden en keuzelijsten zijn enkele GUI-componenten. Deze componenten kunnen gebeurtenissen activeren. Een nieuwe pagina wordt bijvoorbeeld geopend nadat op een knop is geklikt, of de gebruiker kan de registratiegegevens invoeren en op de knop Verzenden drukken. De meeste applicaties hebben een GUI om de gebruiker in staat te stellen met de applicatie te communiceren.

Wat is AWT

AWT staat voor Abstract Window Toolkit. Het is een API om GUI of Windows-gebaseerde applicaties in Java te ontwikkelen. Het vereist een native OS-object om de functionaliteiten te implementeren. Ook AWT-componenten zijn zwaar en vereisen meer geheugenruimte. Bovendien hebben ze enige tijd nodig om uit te voeren. Verder moet de programmeur het pakket javax.awt importeren om een ​​op AWT gebaseerde GUI te ontwikkelen. Knop, schuifbalken, tekstvelden, lijsten, dialoogvensters en panelen zijn enkele AWT-componenten. Nadat ze objecten hebben gemaakt, worden ze in een container geplaatst. Ook biedt het de benodigde ruimte voor de componenten om te laden. Gewoonlijk kan de AWT-toepassing in een besturingssysteem er in een ander besturingssysteem anders uitzien.

Wat is Swing

Swing is een GUI widget toolkit voor Java. Het is gebouwd bovenop de AWT API. Het is ook een onderdeel van Oracle's Java Foundation Classes (JFC). Verder biedt Swing basiscomponenten zoals labels, tekstvakken, knoppen, enzovoort, evenals geavanceerde componenten zoals tabbladen, tabellen en, bomen. Daarom biedt Swing meer geavanceerde componenten dan AWT. Hier moet de programmeur het javax.swing-pakket importeren om een ​​Swing-toepassing te schrijven. Dit pakket biedt een aantal klassen, zoals JButton, JTable, JList, JTextArea en JCheckBox.

Figuur 1: eenvoudige Java Swing-toepassing

Swing is platformonafhankelijk en de componenten zijn lichtgewicht. Verder vereisen de componenten een minimale geheugenruimte. Daarom worden Swing-applicaties veel sneller uitgevoerd. Een gemeenschappelijk ontwerppatroon in ontwikkeling is Model, View, Controller (MVC) -patroon. Swing volgt dit patroon. Het helpt om de code gemakkelijk te behouden.  

Verschil tussen AWT en swing

Definitie

AWT is een verzameling GUI-componenten (widgets) en andere gerelateerde services die nodig zijn voor GUI-programmering in Java. Swing is een onderdeel van Java Foundation Classes (JFC) dat wordt gebruikt voor het maken van op Java gebaseerde Front-end GUI-toepassingen. Vandaar dat dit het belangrijkste verschil tussen AWT en Swing in Java verklaart.

Type

AWT-componenten zijn zwaargewicht, terwijl Swing-componenten licht van gewicht zijn.

Platformafhankelijkheid

Een ander groot verschil tussen AWT en Swing in Java is dat AWT platformafhankelijk is, terwijl Swing platformonafhankelijk is.

tonen

Bovendien ondersteunt AWT geen pluggable uiterlijk. Swing ondersteunt een pluggable uiterlijk. Dit is ook een belangrijk verschil tussen AWT en Swing op Java.

Components

Swing heeft ook meer geavanceerde componenten dan AWT.

Snelheid

Verder is de uitvoering van AWT langzamer. Swing wordt echter sneller uitgevoerd.

MVC

AWT ondersteunt geen MVC-patroon terwijl Swing MVC-patroon ondersteunt. Dit is een ander verschil tussen AWT en Swing.

Geheugenruimte

Bovendien vereisen AWT-componenten meer geheugenruimte, terwijl Swing-componenten niet veel geheugenruimte nodig hebben.

Pakket

De programmeur moet het pakket javax.awt importeren om een ​​AWT-gebaseerde GUI te ontwikkelen. De programmeur moet echter het javax.swing-pakket importeren om een ​​Swing-toepassing te schrijven.

Conclusie

Kort samengevat, AWT en Swing zijn twee toolkits om een ​​rijke grafische gebruikersinterface (GUI) te bouwen. Het belangrijkste verschil tussen AWT en Swing in Java is dat AWT de originele platformafhankelijke venstering, grafische weergave en toolkit voor gebruikersinterfaces is, terwijl Swing een GUI-widgettoolkit voor Java is die een uitbreiding is van AWT. 

Referentie:

1. "AWT-overzicht." Www.tutorialspoint.com, hier beschikbaar.
2. "SWING-overzicht." Www.tutorialspoint.com, hier beschikbaar.
3. "Swing (Java)." Wikipedia, Wikimedia Foundation, 9 juni 2018, hier beschikbaar.
4. "Abstract Window Toolkit." Wikipedia, Wikimedia Foundation, 26 augustus 2018, hier beschikbaar.

Afbeelding met dank aan:

1. "Java Swings Wikibook, Event Handling, example 1 screenshot" By Samwilson - Eigen werk (CC BY-SA 3.0) via Commons Wikimedia