Rozdíl mezi AWT a Swing

Java je software pro vývoj aplikací nezávislý na platformě. Poskytuje sadu softwaru, který lze použít k vývoji aplikací. Jedním takovým softwarem je AWT (Abstract Window Toolkit). Je to sada programového rozhraní, které se používá k vytvoření komponent grafického uživatelského rozhraní (GUI) a dalších služeb požadovaných pro GUI v Javě. Je součástí tříd Java Foundation Classes. Usnadňuje vývoj GUI. AWT zahrnuje sadu oken, grafiky a widgetů uživatelského rozhraní. Má také robustní nástroje pro zpracování událostí, zobrazovací nástroje, správce rozložení pro flexibilní rozložení oken. V tomto tématu se budeme učit o AWT vs. Swing a jejich rozdílech

Swing je nejnovější sada nástrojů založená na AWT. Swing poskytuje programátorům flexibilitu nezávislosti na platformě. Na rozdíl od AWT programátor může pomocí Swing vytvářet obecnější GUI objekty.

Přehled AWT : AWT se používá pro podporu uživatelského rozhraní v aplikaci Java. Poskytuje abstrakci na vysoké úrovni pro program Java, protože skrývá základní detaily GUI. Protože AWT je api build na operačním systému, který poskytuje grafické uživatelské rozhraní pro Javu. Její komponenta je závislá na podkladovém protějšku (jako vzhled a dojem z toho OS), aby zvládla jejich funkčnost. Tyto součásti se tedy často nazývají komponenty s vysokou hmotností.

Funkce AWT zahrnují:

  • Bohatá sada komponent uživatelského rozhraní.
  • Robustní model zpracování událostí
  • Správce rozložení pro různé rozložení okna
  • Třídy přenosu dat podporují vyjmutí a vložení přes nativní platformu.

Přehled Swing : Swing je postaven na AWT, je součástí Java Foundation Classes. Swing je zcela založen na Javě, proto je jeho platforma nezávislá. Používá se k vytvoření účinnějšího GUI než AWT.

Vlastnosti Swing:

  • Všechny funkce AWT
  • Poskytuje bohatou sadu komponent vyšší úrovně, jako je strom, tabelátory, seznamová pole atd.
  • Zapojitelný vzhled a dojem.
  • Žádná závislost na rovnocenných komponentách.

Srovnání hlava-hlava mezi AWT vs Swing (infografika)

Níže je prvních 11 srovnání mezi AWT vs Swing:

Klíčové rozdíly AWT vs Swing:

Protože AWT je mostem mezi aplikací a základním nativním rozhraním, její implementace do nového operačního systému může zahrnovat spoustu práce. Protože to vyžaduje, aby byl znovu vyvinut rodný vrstevník. Použití nativního partnera omezuje funkčnost AWT. AWT má dvě úrovně API -

  • Jeden poskytuje základní obecné rozhraní mezi aplikací a nativním OS.
  • Druhý widget GUI, který poskytuje objekty za kódem řízené na plátně AWT.

Díky použití nativních komponent je AWT rychlé. Zlepšuje tak svůj výkon. Většina webových prohlížečů také podporuje AWT, pro aplety AWT není potřeba Java plugin. Ale AWT má menší sadu komponent, takže uživatelé musí psát vlastní kód, aby získali své vlastní komponenty založené na AWT. Komponenty AWT nepodporují funkce, jako je záhlaví a lišty nabídek.

Swing je rozšíření AWT. Nejedná se o přesnou náhradu AWT. Proto má funkce AWT s rozšiřitelností JAVA. Takže všechny komponenty, které jsou přítomny v AWT, jsou také přítomny v Swing. Swing však nevyžaduje vzájemné programování, takže je platforma nezávislá a lehká. Swing také umožňuje větší rozsah součástí.

Swing je modulární architektura. Podporuje připojení pro vlastní implementaci. Uživatel si může vytvořit vlastní implementaci a přepsat výchozí implementaci založenou na Java. Swing také poskytuje podporu pro běhový mechanismus. Metoda nepřímé kompozice umožňuje výkyvům reagovat na změny za běhu v závislosti na prostředí aplikace. Swing podporuje funkce, jako jsou ikony a tipy na nástroje. Sun se aktivně podílí na vývoji Swingu, a proto si swing postupně získává nové funkce a je lepší než dříve.

Většina webového prohlížeče nepodporuje swing. Proto je potřeba mít Java plugin pro swing. Swing je pomalejší ve srovnání s AWT. Protože komponenty Swing zpracovávají svůj vlastní obraz (namísto použití nativních API, jako je DirectX v systému Windows), může se to projevit v grafických závadách.

Srovnávací tabulka mezi AWT a Swing:

AWTHOUPAČKA
AWT je zkratka pro sadu abstraktních oken.Swing je součástí Java Foundation Classes (JFC).
AWT závisí na platformě. Jeho kód spočívá v OS systému, a proto znemožňuje nezávislost na platformě.Houpací komponenty jsou vyráběny v JAVA. Díky tomu je platforma nezávislá.
Komponenty AWT jsou těžké.Komponenty houpačky jsou lehké.
AWT nesleduje MVC (Model View Controller).Swing je založen na MVC.
Komponenty AWT vyžadují java.awt.packageKomponenty Swing vyžadují javax.swing.package.
AWT nemá podokna Jtable a Jtabbed.Swing má panely Jtable a Jtabbed.
AWT závisí na platformě, a proto není podporován příliš odlišný vzhled a dojem.Houpačka může mít odlišný vzhled a dojem.
AWT zabírá více místa v paměti.Swing zabírá méně místa v paměti.
AWT je méně výkonný než Swing.Swing je rozšíření AWT, takže je odstraněno mnoho nedostatků.
Vzhled a pocit AWT závisí na platformě.Vzhled a dojem ze Swing je nezávislý na základní platformě a operačním systému.
Komponenty AWT závisí na správném fungování nativního kódu (peers). Proto jsou tyto komponenty „komponenty s vysokou hmotností“.Houpačka nemá žádnou takovou závislost. Proto tyto komponenty jsou „komponenty s nízkou hmotností“.

Závěr:

Oba AWT vs Swing se používají k vytváření grafického uživatelského rozhraní v Javě. Oba jsou robustní a mají své vlastní klady a zápory. Komponenta AWT je vhodná pro jednoduchý vývoj aplikací, který je většinou navržen pro provoz na jediném operačním systému. Zatímco swing je nejnovější rozhraní, které je kompletně postaveno na Javě. Swing dává uživateli svobodu kódování jednou a běží kdekoli. Poskytuje také širší škálu součástí než AWT. To zcela záleží na požadavcích uživatele. Přestože AWT je starý vývoj, který se u AWT stále děje a je stále lepší. Pokud má být požadavek vypadat a cítit se více jako základní operační systém, pak by AWT byla lepší volbou. Pokud chcete pružnější GUI, je dobré jít s houpačkou.

Doporučené články

Toto byl průvodce největším rozdílem mezi AWT a Swing. Tady také diskutujeme AWT vs Swing klíčové rozdíly s infografikou a srovnávací tabulkou. Další informace naleznete také v následujících článcích -

  1. Java vs Ruby - Který z nich je lepší?
  2. Python vs Scala - hlavní rozdíly
  3. Rozdíl mezi HTML5 a Flash
  4. WordPress vs Drupal
  5. Štítek JavaFX
  6. Rozložení JavaFX
  7. Typy a jak vytvořit grafy JavaFx?
  8. Posuvník JavaFX
  9. Jak vkládat text do JavaFX TextField?
  10. Konstruktory a metody tlačítka JavaFx
  11. Top 15 metod HBox v JavaFX

Kategorie: