Rozdíl mezi AWT a Swing

Klíčový rozdíl - AWT vs Houpačka
 

Java je programovací jazyk na vysoké úrovni vyvinutý společností Sun Microsystems. Java podporuje Object Oriented Programming, které pomáhá navrhovat a vyvíjet software pomocí objektů. Při kompilaci programu Java se převede na bajtkód. Tento bytecode je interpretován Java Virtual Machine (JVM) na jakékoli platformě. Proto je programovací jazyk, který mohou programátoři psát jednou a spustit na jakékoli platformě. Java lze použít k vývoji různých aplikací, jako jsou stolní, mobilní a webové aplikace. Jazyk poskytuje nástroje pro vytváření bohatých grafických uživatelských rozhraní (GUI). Dva z nich jsou AWT a Swing. Tento článek popisuje rozdíl mezi AWT a Swing. klíčový rozdíl mezi AWT a Swing je to AWT je jávská původní platforma závislá na okně, grafice a widgetu uživatelského rozhraní, zatímco Swing je sada nástrojů GUI pro Java, která je rozšířením pro AWT.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je AWT
3. Co je Swing
4. Podobnosti mezi AWT a Swing
5. Srovnání bok po boku - AWT vs. Swing v tabulkové formě
6. Shrnutí

Co je AWT?

Grafické uživatelské rozhraní je rozhraní pro uživatele, které poskytuje pokyny pro software k provádění úkolů. Skládá se z různých grafických komponent. Některé komponenty grafického uživatelského rozhraní jsou okno, tlačítko, pole se seznamem, textová oblast, seznam a štítek. Pomocí těchto komponent může programátor vyvinout interaktivní uživatelské rozhraní pro aplikaci. Grafické uživatelské rozhraní je založeno na událostech. Kliknutí na tlačítko, zavření okna, psaní něčeho do textového pole jsou příklady událostí, které se mohou vyskytnout v aplikaci založené na grafickém uživatelském rozhraní. Mnoho aplikací dnes obsahuje GUI. Mobilní aplikace, systémy rezervace letenek, bankomaty mají bohatá grafická rozhraní, díky nimž mohou zákazníci aplikaci snadno používat.

AWT znamená Abstraktní okno Toolkit. AWT vyžaduje k implementaci funkcí nativní objekt OS. Proto jsou komponenty AWT těžké a vyžadují více místa v paměti. Spouštění součástí AWT také vyžaduje čas. Počet součástí dostupných v AWT je minimální. Pro vývoj GUI aplikací založených na AWT je nutné importovat balíček javax.awt.

Obrázek 01: AWT a Swing

Některé komponenty AWT jsou tlačítka, textová pole, rozevírací pole, posuvníky, okno, rám, panel, štítky. Po vytvoření objektů je lze umístit do kontejneru. Kontejner poskytuje prostor pro načtení součástí. AWT nepodporuje zásuvný vzhled a dojem. Proto aplikace AWT vyvinutá v jednom operačním systému nemusí vypadat stejně v jiném operačním systému.

Co je Swing?

Swing je sada nástrojů GUI widget pro Javu. Je součástí Oracle Foundation Classes (JFC) společnosti Oracle. Je to aplikační programovací rozhraní pro vytváření GUI pro Java aplikace. Je postaven na AWT API. Swing byl vyvinut, aby poskytoval flexibilnější a sofistikovanější komponenty než AWT. Swing obsahuje základní komponenty, jako jsou popisky, textová pole, tlačítka. Obsahuje také pokročilejší komponenty. Některé z nich jsou stromy, tabulky, seznamy, posuvné tabule a tabelátory. Pokud programátor potřebuje implementovat aplikaci Swing, je nutné importovat balíček javax.swing. Balíček poskytuje třídy pro rozhraní Java Swing API, jako je JButton, JRadioButton, JTextField, JCheckbox atd..

Komponenty Swing nemají kód pro konkrétní platformu. Proto je Swing nezávislý na platformě. Na rozdíl od AWT, Swing nevyžaduje nativní OS volání k sestavení komponent. JVM odpovídá za vyvolání nativních metod. Komponenty Swing jsou lehké. Požadované místo v paměti je také minimální. To je významný faktor pro rychlejší spouštění aplikací založených na Swing. Při vývoji aplikací je běžným návrhovým vzorem Model, View, Controller (MVC). Model představuje data. Pohled představuje prezentaci, zatímco Controller je rozhraní mezi Modelem a Pohledem. Swing sleduje tento vzorec. Swing podporuje zásuvný vzhled a dojem. Celkově je výkonnější než AWT.

Jaká je podobnost mezi AWT a Swing?

  • Oba jsou javy založené na jazyce Java k vytvoření grafického uživatelského rozhraní.

Jaký je rozdíl mezi AWT a Swing?

AWT vs. Swing

AWT je původní platforma Java závislá na platformě oken, grafiky a widgetu uživatelského rozhraní před Swingem. Swing je sada widgetů GUI pro Javu, která je součástí Oracle Foundation Class Java (JFC).
 Závislost na platformě
Komponenty AWT jsou závislé na platformě. Komponenty Swing jsou nezávislé na platformě.
Počet komponent
AWT obsahuje menší počet součástí. Swing má vyšší počet komponent.
 Komponenty
Komponenty AWT jsou těžké. Komponenty houpačky jsou lehké.
MVC
AWT nesleduje MVC. Swing sleduje MVC.
Rychlost
AWT není rychlý jako Swing. Houpačka je rychlejší než AWT.
Požadovaný paměťový prostor
Komponenty AWT vyžadují více paměti. Komponenty Swing vyžadují méně místa v paměti.
Požadovaný balíček
AWT vyžaduje import balíčku javax.awt. Swing vyžaduje import balíčku javax.swing.
Zásuvný vzhled a dojem
AWT nepodporuje zásuvný vzhled a dojem. Swing poskytuje zásuvný vzhled a dojem.

souhrn - AWT vs Houpačka

Tento článek popisuje dva nástroje pro návrh grafického uživatelského rozhraní, které jsou AWT a Swing. Rozdíl mezi AWT a Swing spočívá v tom, že AWT je jávská původní platforma závislá na platformách oken, grafiky a uživatelského rozhraní, zatímco Swing je sada nástrojů GUI pro Java, což je rozšíření pro AWT. Swing poskytuje bohatší funkce ve srovnání s AWT. Vzhled GUI vytvořeného pomocí Swing vypadá hezčí než GUI s AWT. Na rozdíl od AWT, Swing podporuje připojitelný vzhled a dojem a zvyšuje použitelnost aplikace.

Stáhněte si PDF verzi AWT vs Swing

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde: Rozdíl mezi AWT a Swing

Odkaz:

1.tutorialspoint.com. "Přehled SWING." Bod. K dispozici zde 
2. „Swing (Java)“. Wikipedia, Wikimedia Foundation, 24. ledna 2018. K dispozici zde  
3. „Sada abstraktních oken.“ Wikipedia, Wikimedia Foundation, 22. ledna 2018. K dispozici zde 
4. „Výukový program Java Swing - javatpoint.“ K dispozici zde
5.tutorialspoint.com. "Přehled AWT." Bod. K dispozici zde 

Obrázek se svolením:

1.'AWTSwingClassHierarchy 'Autor: Jakub Závěrka - Jakub Závěrka - vlastní práce, (public domain) prostřednictvím Commons Wikimedia