Kľúčový rozdiel – AWT vs Swing
Java je vysokoúrovňový programovací jazyk vyvinutý spoločnosťou Sun Microsystems. Java podporuje objektovo orientované programovanie, ktoré pomáha navrhovať a vyvíjať softvér pomocou objektov. Keď sa program Java skompiluje, prevedie sa na bajtový kód. Tento bajtkód je interpretovaný Java Virtual Machine (JVM) na akejkoľvek platforme. Ide teda o programovací jazyk, ktorý môžu programátori napísať raz a spustiť na akejkoľvek platforme. Java môže byť použitá na vývoj rôznych aplikácií, ako sú desktopové, mobilné a webové aplikácie. Jazyk poskytuje sady nástrojov na vytváranie bohatých grafických používateľských rozhraní (GUI). Dve z nich sú AWT a Swing. Tento článok pojednáva o rozdieloch medzi AWT a Swing. Kľúčový rozdiel medzi AWT a Swing je v tom, že AWT je pôvodná súprava miniaplikácií pre okná, grafiku a používateľské rozhranie v jazyku Java, zatiaľ čo Swing je súprava miniaplikácií GUI pre Javu, ktorá je rozšírením pre AWT.
Čo je AWT?
Grafické používateľské rozhranie je rozhranie pre používateľov, ktoré poskytuje pokyny pre softvér na vykonávanie úloh. Pozostáva z rôznych grafických komponentov. Niektoré komponenty GUI sú okno, tlačidlo, pole so zoznamom, textová oblasť, zoznam a štítok. Pomocou týchto komponentov môže programátor vyvinúť interaktívne používateľské rozhranie pre aplikáciu. GUI je založené na udalostiach. Kliknutie na tlačidlo, zatvorenie okna, napísanie niečoho do textového poľa sú niektoré príklady udalostí, ktoré sa môžu vyskytnúť v aplikácii založenej na grafickom používateľskom rozhraní. V súčasnosti mnohé aplikácie obsahujú GUI. Mobilné aplikácie, systémy na rezerváciu leteniek, bankomaty majú bohaté grafické rozhrania, aby zákazníci mohli aplikáciu jednoducho používať.
AWT je skratka pre Abstract Window Toolkit. AWT vyžaduje na implementáciu funkcií natívny objekt OS. Preto sú komponenty AWT ťažké a vyžadujú viac miesta v pamäti. Komponenty AWT tiež vyžadujú čas na vykonanie. Počet komponentov dostupných v AWT je minimálny. Na vývoj aplikácií GUI založených na AWT je potrebné importovať balík javax.awt.
Obrázok 01: AWT a Swing
Niektoré komponenty AWT sú tlačidlá, textové polia, rozbaľovacie polia, posuvníky, okno, rám, panel, štítky. Po vytvorení objektov je možné ich umiestniť do kontajnera. Kontajner poskytuje priestor na vloženie komponentov. AWT nepodporuje pripojiteľný vzhľad a dojem. Preto aplikácia AWT vyvinutá v jednom operačnom systéme nemusí vyzerať rovnako v inom operačnom systéme.
Čo je swing?
Swing je súprava miniaplikácií GUI pre Javu. Je súčasťou Oracle Java Foundation Classes (JFC). Je to aplikačné programové rozhranie na vytváranie GUI pre Java aplikácie. Je postavený na AWT API. Swing bol vyvinutý tak, aby poskytoval flexibilnejšie a sofistikovanejšie komponenty ako AWT. Swing obsahuje základné komponenty ako štítky, textové polia, tlačidlá. Obsahuje aj pokročilejšie komponenty. Niektoré z nich sú stromy, tabuľky, zoznamy, rolovacie panely a panely s kartami. Ak programátor potrebuje implementovať aplikáciu Swing, je potrebné importovať balík javax.swing. Balík poskytuje triedy pre Java Swing API, ako sú JButton, JRadioButton, JTextField, JCheckbox atď.
Swing komponenty nemajú kód špecifický pre platformu. Preto je Swing nezávislý na platforme. Na rozdiel od AWT, Swing nevyžaduje natívne volania OS na vytvorenie komponentov. JVM je zodpovedný za vyvolávanie natívnych metód. Komponenty Swing sú ľahké. Požadovaný pamäťový priestor je tiež minimálny. To je významný faktor pre rýchlejšie spúšťanie aplikácií založených na Swing. Pri vývoji aplikácií je model, zobrazenie, ovládač (MVC) bežným návrhovým vzorom. Model predstavuje dáta. Zobrazenie predstavuje prezentáciu, zatiaľ čo ovládač je rozhraním medzi modelom a zobrazením. Swing sa riadi týmto vzorom. Swing podporuje pripojiteľný vzhľad a dojem. Celkovo je výkonnejší ako AWT.
Aká je podobnosť medzi AWT a Swing?
Obe sú sady nástrojov na vytváranie grafického používateľského rozhrania založené na jazyku Java
Aký je rozdiel medzi AWT a Swing?
AWT vs Swing |
|
AWT je pôvodná súprava nástrojov na vytváranie okien, grafiky a používateľského rozhrania v jazyku Java, ktorá predchádza Swingu. | Swing je sada nástrojov GUI pre Javu, ktorá je súčasťou Oracle Java Foundation Class (JFC). |
Závislosť na platforme | |
Súčasti AWT sú závislé od platformy. | Swing komponenty sú nezávislé od platformy. |
Počet komponentov | |
AWT obsahuje menší počet komponentov. | Hojdačka má vyšší počet komponentov. |
Komponenty | |
Komponenty AWT sú ťažké. | Komponenty hojdačky sú ľahké. |
MVC | |
AWT nesleduje MVC. | Swing nasleduje MVC. |
Rýchlosť | |
AWT nie je rýchly ako Swing. | Swing je rýchlejší ako AWT. |
Požadované miesto v pamäti | |
Súčasti AWT vyžadujú viac miesta v pamäti. | Swing komponenty vyžadujú menej miesta v pamäti. |
Požadovaný balík | |
AWT vyžaduje import balíka javax.awt. | Swing vyžaduje import balíka javax.swing. |
Pripojiteľný vzhľad a dojem | |
AWT nepodporuje pripojiteľný vzhľad a dojem. | Swing poskytuje pripojiteľný vzhľad a dojem. |
Zhrnutie – AWT vs Swing
Tento článok popisuje dva nástroje na navrhovanie grafického používateľského rozhrania, ktorými sú AWT a Swing. Rozdiel medzi AWT a Swing je v tom, že AWT je pôvodná súprava nástrojov pre okná, grafiku a používateľské rozhranie v jazyku Java, zatiaľ čo Swing je súprava nástrojov GUI pre Javu, čo je rozšírenie pre AWT. Swing poskytuje bohatšie funkcie v porovnaní s AWT. Vzhľad GUI vytvoreného pomocou Swing vyzerá krajšie ako GUI s AWT. Na rozdiel od AWT podporuje Swing pripojiteľný vzhľad a dojem a zvyšuje použiteľnosť aplikácie.
Stiahnite si PDF verziu AWT vs Swing
Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi AWT a Swing