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