Java is een programmeertaal op hoog niveau, ontwikkeld door Sun Microsystems. Java ondersteunt Object Oriented Programming dat helpt bij het ontwerpen en ontwikkelen van een software met behulp van objecten. Wanneer het Java-programma wordt gecompileerd, wordt het geconverteerd naar een bytecode. Die bytecode wordt geïnterpreteerd door de Java Virtual Machine (JVM) op elk platform. Daarom is het een programmeertaal die programmeurs eenmaal kunnen schrijven en op elk platform kunnen uitvoeren. Java kan worden gebruikt om een verscheidenheid aan applicaties te ontwikkelen, zoals desktop-, mobiele en webapplicaties. De taal biedt toolkits voor het maken van rijke grafische gebruikersinterfaces (GUI). Twee daarvan zijn AWT en Swing. Dit artikel bespreekt het verschil tussen AWT en Swing. De belangrijk verschil tussen AWT en Swing is dat AWT is Java's originele platformafhankelijke vensterrader, grafische weergave en toolkit voor gebruikersinterfaces, terwijl Swing een toolkit voor GUI-widgets is voor Java, een extensie voor AWT.
1. Overzicht en belangrijkste verschil
2. Wat is AWT
3. Wat is Swing
4. Overeenkomsten tussen AWT en Swing
5. Vergelijking zij aan zij - AWT versus swing in tabelvorm
6. Samenvatting
Een grafische gebruikersinterface is een interface voor gebruikers om instructies te geven voor de software om taken uit te voeren. Het bestaat uit verschillende grafische componenten. Bepaalde GUI-componenten zijn venster, knop, keuzelijst met invoervak, tekstgebied, keuzelijst en label. Met behulp van deze componenten kan de programmeur een interactieve gebruikersinterface voor de toepassing ontwikkelen. Een GUI is gebaseerd op gebeurtenissen. Knopklikken, het venster sluiten, iets in het tekstvak typen zijn enkele voorbeelden van gebeurtenissen die kunnen optreden in een op een grafische gebruikersinterface gebaseerde toepassing. Tegenwoordig bevatten veel applicaties GUI's. Mobiele applicaties, boekingssystemen voor vliegtickets, geautomatiseerde tellermachines hebben rijke grafische interfaces voor klanten om de applicatie eenvoudig te gebruiken.
AWT staat voor Abstract Window Toolkit. AWT vereist een native OS-object om de functionaliteiten te implementeren. Daarom zijn AWT-componenten zwaargewicht en hebben ze meer geheugenruimte nodig. AWT-componenten hebben ook tijd nodig om uit te voeren. Het aantal onderdelen dat beschikbaar is in AWT is minimaal. Het is noodzakelijk om het javax.awt-pakket te importeren om AWT-gebaseerde GUI-toepassingen te ontwikkelen.
Afbeelding 01: AWT en swing
Sommige AWT-componenten zijn knoppen, tekstvelden, keuzelijsten, schuifbalken, vensters, lijsten, panelen en labels. Nadat de objecten zijn gemaakt, kunnen ze in een container worden geplaatst. Een container biedt ruimte voor te laden componenten. AWT ondersteunt geen plug-in look en feel. Daarom kan een AWT-toepassing die in een besturingssysteem is ontwikkeld er in een ander besturingssysteem mogelijk niet hetzelfde uitzien.
Swing is een GUI widget toolkit voor Java. Het maakt deel uit van Oracle's Java Foundation Classes (JFC). Het is een Application Programming Interface om GUI voor Java-toepassingen te bouwen. Het is gebouwd op de top van AWT API. Swing is ontwikkeld om meer flexibele en geavanceerde componenten te bieden dan AWT. Swing bevat basiscomponenten zoals labels, tekstvakken, knoppen. Het bevat ook meer geavanceerde componenten. Sommigen van hen zijn bomen, tabellen, lijsten, schuifvensters en vensters met tabbladen. Als de programmeur een Swing-toepassing moet implementeren, is het noodzakelijk om het pakket javax.swing te importeren. Het pakket biedt klassen voor Java Swing API zoals JButton, JRadioButton, JTextField, JCheckbox, enz..
Swing-componenten hebben geen platformspecifieke code. Daarom is Swing platformonafhankelijk. In tegenstelling tot AWT heeft Swing geen native OS-aanroepen nodig om componenten te bouwen. JVM is verantwoordelijk voor het aanroepen van de native methoden. De Swing-componenten zijn licht van gewicht. De vereiste geheugenruimte is ook minimaal. Dit is een belangrijke factor om Swing-gebaseerde applicaties sneller uit te voeren. In de ontwikkeling van toepassingen is Model, View, Controller (MVC) een gebruikelijk ontwerppatroon. Het model vertegenwoordigt gegevens. De weergave vertegenwoordigt de presentatie terwijl Controller de interface is tussen Model en Weergave. Swing volgt dit patroon. Swing ondersteunt de pluggable look en feel. Over het algemeen is het krachtiger dan AWT.
AWT versus Swing | |
AWT is Java's originele platformafhankelijke venstering, grafische weergave en toolkit voor gebruikersinterfaces voorafgaand aan Swing. | Swing is een GUI widget toolkit voor Java die deel uitmaakt van Oracle's Java Foundation Class (JFC). |
Platformafhankelijkheid | |
AWT-componenten zijn platformafhankelijk. | Swing-componenten zijn platformonafhankelijk. |
Aantal componenten | |
AWT bevat minder aantal componenten. | Swing heeft een hoger aantal componenten. |
Components | |
AWT-componenten zijn zwaargewicht. | Swing-componenten zijn licht van gewicht. |
MVC | |
AWT volgt MVC niet. | Swing volgt MVC. |
Snelheid | |
AWT is niet zo snel als Swing. | Swing is sneller dan AWT. |
Vereiste geheugenruimte | |
AWT-componenten vereisen meer geheugenruimte. | Swing-componenten vereisen minder geheugenruimte. |
Vereist pakket | |
AWT vereist het importeren van javax.awt-pakket. | Swing vereist het importeren van javax.swing-pakket. |
Pluggable Look and Feel | |
AWT ondersteunt geen plug-in look en feel. | Swing biedt een pluggable uiterlijk. |
In dit artikel zijn twee grafische gebruikersinterfaceontwerptools besproken die AWT en Swing zijn. Het verschil tussen AWT en Swing is dat AWT Java's originele platformafhankelijke venstering, grafische weergave en toolkit voor gebruikersinterfaces is, terwijl Swing een GUI-toolkit voor Java is, een uitbreiding voor AWT. Swing biedt rijkere functies vergeleken met AWT. Het uiterlijk van de GUI gebouwd met Swing ziet er mooier uit dan GUI met AWT. In tegenstelling tot AWT ondersteunt Swing de pluggable look en feel en verhoogt de bruikbaarheid van de applicatie.
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens citaatnotitie. Download de PDF-versie hier: Verschil tussen AWT en Swing
1.tutorialspoint.com. "SWING-overzicht." Het punt. Beschikbaar Hier
2. "Swing (Java)." Wikipedia, Wikimedia Foundation, 24 januari 2018. Beschikbaar Hier
3. "Abstract Window Toolkit." Wikipedia, Wikimedia Foundation, 22 januari 2018. Beschikbaar Hier
4. "Java Swing-zelfstudie - javatpoint." Beschikbaar Hier
5.tutorialspoint.com. "AWT-overzicht." Het punt. Beschikbaar Hier
1.'AWTSwingClassHierarchy 'door Jakub Závěrka - Jakub Závěrka - eigen werk, (Public Domain) via Commons Wikimedia