Verschil tussen AWT versus Swing

Java is een platform-onafhankelijke applicatie-ontwikkelingssoftware. Het biedt een set software die kan worden gebruikt om applicaties te ontwikkelen. Een dergelijke software is AWT (Abstract Window Toolkit). Het is een set programma-interface die wordt gebruikt om een ​​grafische gebruikersinterface (GUI) componenten en andere services te maken die vereist zijn voor GUI in Java. Het maakt deel uit van Java Foundation Classes. Het maakt de ontwikkeling van GUI eenvoudiger. AWT bevat een set venster-, grafische en gebruikersinterface-widgets. Het heeft ook een robuuste event-handling, imaging tools, een lay-outmanager voor flexibele vensterlay-outs. In dit onderwerp gaan we meer te weten komen over AWT versus Swing en hun verschillen

Swing is de meest recente toolkit op basis van AWT. Swing geeft programmeur flexibiliteit van platformonafhankelijkheid. In tegenstelling tot AWT kan programmeur meer algemene GUI-objecten maken met behulp van Swing.

Overzicht van AWT : AWT wordt gebruikt voor het ondersteunen van de gebruikersinterface in de Java-toepassing. Het biedt de abstractie op hoog niveau voor het Java-programma omdat het onderliggende GUI-details verbergt. Aangezien AWT een API is die is gebouwd op het besturingssysteem om een ​​grafische gebruikersinterface voor Java te bieden. De component is afhankelijk van de onderliggende tegenhanger (zoals het uiterlijk van dat besturingssysteem) om hun functionaliteit af te handelen. Daarom worden deze componenten vaak "zwaargewicht" componenten genoemd.

AWT-functies omvat:

  • Een rijke set gebruikersinterfacecomponenten.
  • Het robuuste event handling-model
  • Layout Manager voor verschillende vensterindelingen
  • Gegevensoverdrachtklassen ondersteunen knippen en plakken via het native platform.

Overzicht van Swing : Swing is gebouwd op AWT, het maakt deel uit van Java Foundation Classes. Swing is volledig gebaseerd op Java, daarom is het platform onafhankelijk. Het wordt gebruikt om een ​​effectievere GUI te maken dan AWT.

Kenmerken van Swing:

  • Alle functies van AWT
  • Biedt een uitgebreide set componenten op een hoger niveau, zoals een boomstructuur, deelvensters met tabbladen, keuzelijsten, enz.
  • Inplugbaar uiterlijk.
  • Geen afhankelijkheid van peer-componenten.

Head-to-head vergelijking tussen AWT versus Swing (Infographics)

Hieronder is de top 11 vergelijking tussen AWT versus Swing:

Belangrijkste verschillen tussen AWT en Swing:

Omdat AWT een brug is tussen de toepassing en de onderliggende native interface, kan de implementatie ervan op een nieuw besturingssysteem veel werk inhouden. Omdat het vereist dat een native peer opnieuw wordt ontwikkeld. Het gebruik van native peer beperkt de functionaliteit van AWT. AWT heeft twee niveaus van API's -

  • De ene biedt een algemene basisinterface tussen de toepassing en het native besturingssysteem.
  • Tweede GUI-widget die code-achterobjecten biedt die op AWT-canvas worden aangestuurd.

Gebruik van native componenten maakt AWT snel. Vandaar verbetert de prestaties. Bovendien ondersteunt de meeste webbrowser AWT, er is geen Java-plug-in nodig voor AWT-applets. Maar AWT heeft een kleinere set componenten, dus gebruikers moeten aangepaste code schrijven om hun eigen op AWT gebaseerde componenten te krijgen. AWT-componenten ondersteunen geen functies zoals titelbalk en menubalken.

Swing is de uitbreiding van AWT. Het is niet de exacte vervanging van AWT. Daarom heeft het AWT-functies met de uitbreidbaarheid van JAVA. Dus alle componenten die aanwezig zijn in AWT zijn ook aanwezig in Swing. Maar Swing vereist geen peer-programmering, waardoor het platform onafhankelijk en lichtgewicht is. Swing biedt ook een groter aantal componenten.

Swing is een modulaire architectuur. Het ondersteunt pluggen voor aangepaste implementatie. Gebruikers kunnen hun eigen implementatie maken om de standaard op Java gebaseerde implementatie te vervangen. Swing biedt ook ondersteuning voor runtime-mechanisme. Indirecte compositiemethode stelt de swing in staat om te reageren op runtime-veranderingen volgens de applicatieomgeving. Swing ondersteunt functies zoals pictogrammen en tool-tips. Sun is actief betrokken bij de ontwikkeling van Swing en daarom krijgt swing zo nu en dan nieuwe functies en wordt het beter dan vroeger.

De meeste webbrowsers ondersteunen swing niet. Er is dus een Java-plug-in nodig voor swing. Swing is langzamer in vergelijking met AWT. Aangezien Swing-componenten hun eigen schilderij verwerken (in plaats van native API's zoals DirectX op Windows te gebruiken), kan dit grafische problemen opleveren.

Vergelijkingstabel tussen AWT versus Swing:

AWTSCHOMMEL
AWT staat voor Abstract Window Toolkit.Swing is onderdeel van Java Foundation Classes (JFC).
AWT is platformafhankelijk. De code bevindt zich in het besturingssysteem van het systeem en maakt het daarom onmogelijk voor platformonafhankelijkheid.Swing componenten worden gemaakt in JAVA. Daardoor is het platform onafhankelijk.
AWT-componenten zijn zwaargewicht.Swing componenten zijn lichtgewicht.
AWT volgt MVC (Model View Controller) niet.Swing is gebaseerd op MVC.
AWT-componenten vereist java.awt.packageSwing-componenten vereisen javax.swing.package.
AWT heeft geen Jtable en Jtabbed-paneel.Swing heeft Jtable en Jtabbed paneel.
AWT is platformafhankelijk en daarom wordt een heel ander uiterlijk en gevoel niet ondersteund.Swing kan er anders uitzien en aanvoelen.
AWT neemt meer geheugenruimte in beslag.Swing neemt minder geheugenruimte in beslag.
AWT is minder krachtig dan Swing.Swing is de uitbreiding van AWT waardoor veel nadelen worden weggenomen.
Look and Feel van AWT is afhankelijk van het platform.Het uiterlijk van Swing is onafhankelijk van het onderliggende platform en besturingssysteem.
AWT-componenten zijn afhankelijk van native code (peers) om correct te functioneren. Daarom zijn deze componenten "Heavy Weight Components".Swing heeft zo'n afhankelijkheid niet. Daarom zijn deze componenten "Light Weight Components".

Conclusie:

Beide AWT versus Swing worden gebruikt voor het maken van een grafische gebruikersinterface in Java. Beide zijn robuust en hebben hun eigen voor- en nadelen. AWT-component is geschikt voor eenvoudige app-ontwikkeling die meestal is ontworpen om op één besturingssysteem te worden uitgevoerd. Terwijl swing de nieuwste interface is die volledig op Java is gebouwd. Swing geeft de gebruiker de vrijheid om eenmaal te coderen en werkt overal. Het biedt ook een breder scala aan componenten dan AWT. Het hangt volledig af van de gebruikersvereisten. Hoewel AWT een oude ontwikkeling is die nog steeds gebeurt in AWT en het wordt steeds beter. Als het een vereiste is om er meer uit te zien en aan te voelen als het onderliggende besturingssysteem, dan is AWT een betere optie. Als je een flexibelere GUI wilt, dan is swing goed om mee te werken.

Aanbevolen artikelen

Dit is een leidraad geweest voor het grootste verschil tussen AWT versus Swing. Hier bespreken we ook de belangrijkste verschillen tussen AWT en Swing met infographics en vergelijkingstabel. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Java vs Ruby - Welke is beter?
  2. Python vs Scala - Topverschillen
  3. Verschil tussen HTML5 en Flash
  4. WordPress versus Drupal
  5. JavaFX-label
  6. JavaFX-indelingen
  7. Typen en hoe JavaFx-grafieken te maken?
  8. JavaFX-schuifregelaar
  9. Hoe tekst in te voeren in JavaFX TextField?
  10. Constructors en methoden van JavaFx Button
  11. Top 15 methoden van HBox in JavaFX