Rozdiel medzi AWT a Swing

Java je softvér na vývoj aplikácií nezávislý od platformy. Poskytuje sadu softvéru, ktorý možno použiť na vývoj aplikácií. Jedným takým softvérom je AWT (Abstract Window Toolkit). Je to sada programového rozhrania, ktoré sa používa na vytvorenie komponentov grafického používateľského rozhrania (GUI) a ďalších služieb potrebných pre GUI v Java. Je súčasťou tried Java Foundation Classes. Uľahčuje vývoj GUI. AWT obsahuje sadu okien, grafických prvkov a widgetov používateľského rozhrania. Má tiež robustné nástroje na spracovanie udalostí, zobrazovacie nástroje, manažéra rozloženia pre flexibilné rozloženie okien. V tejto téme sa dozvieme viac o AWT vs Swing a ich rozdieloch

Swing je najnovší súbor nástrojov založený na AWT. Swing poskytuje programátorom flexibilitu nezávislosti od platformy. Na rozdiel od AWT môže programátor vytvárať Swing viac zovšeobecnené GUI objekty.

Prehľad AWT : AWT sa používa na podporu používateľského rozhrania v aplikácii Java. Poskytuje abstrakciu na vysokej úrovni pre program Java, pretože skryje základné detaily GUI. Pretože AWT je api build na operačnom systéme, ktorý poskytuje grafické užívateľské rozhranie pre Java. Jeho zložka je závislá od podkladového náprotivku (ako je vzhľad a dojem z tohto OS) pri spracovaní ich funkčnosti. Tieto komponenty sa teda často nazývajú komponenty s vysokou hmotnosťou.

Funkcie AWT zahŕňajú:

  • Bohatá sada komponentov používateľského rozhrania.
  • Robustný model spracovania udalostí
  • Správca rozloženia pre rôzne rozloženie okna
  • Triedy prenosu údajov podporujú vystrihovanie prostredníctvom natívnej platformy.

Prehľad Swing : Swing je postavený na AWT, je súčasťou Java Foundation Classes. Swing je založený úplne na Java, preto je jeho platforma nezávislá. Používa sa na vytvorenie efektívnejšieho GUI ako AWT.

Vlastnosti Swing:

  • Všetky funkcie AWT
  • Poskytuje bohatú sadu komponentov vyššej úrovne, ako sú strom, tabulové tabule, zoznamy atď.
  • Zapojiteľný vzhľad a dojem.
  • Žiadna závislosť na rovnocenných komponentoch.

Porovnanie medzi hlavami medzi AWT a Swingom (infografika)

Nižšie je prvých 11 porovnaní medzi AWT vs Swing:

Kľúčové rozdiely AWT vs Swing:

Pretože AWT je mostom medzi aplikáciou a základným natívnym rozhraním, jej implementácia do nového operačného systému môže zahŕňať veľa práce. Pretože to vyžaduje, aby sa znova vyvinul domorodý rovesník. Použitie natívneho partnera obmedzuje funkčnosť AWT. AWT má dve úrovne API -

  • Jeden poskytuje základné všeobecné rozhranie medzi aplikáciou a natívnym OS.
  • Druhý widget GUI, ktorý poskytuje objekty za kódom umiestnené na plátne AWT.

Použitie natívnych komponentov urýchľuje AWT. Zlepšuje sa tým jeho výkon. Väčšina webových prehliadačov tiež podporuje AWT, pre applety AWT nie je potrebný doplnok Java. Ale AWT má menšiu množinu komponentov, takže používatelia musia napísať vlastný kód, aby získali svoje vlastné komponenty založené na AWT. Komponenty AWT nepodporujú funkcie, ako sú záhlavie a panely s ponukami.

Swing je rozšírenie AWT. Nejde o presnú náhradu AWT. Preto má funkcie AWT s rozšíriteľnosťou JAVA. Takže všetky komponenty, ktoré sú prítomné v AWT, sú tiež prítomné v Swing. Swing však nevyžaduje vzájomné programovanie, vďaka čomu je platforma nezávislá a ľahká. Swing tiež umožňuje väčší rozsah komponentov.

Swing je modulárna architektúra. Podporuje pripojenie pre vlastnú implementáciu. Užívateľ môže vytvoriť svoju vlastnú implementáciu, aby prepísal predvolenú implementáciu založenú na Java. Swing tiež poskytuje podporu pre runtime mechanizmus. Nepriama metóda zloženia umožňuje výkyvom reagovať na zmeny v čase vykonávania v závislosti od aplikačného prostredia. Swing podporuje funkcie ako ikony a tipy na nástroje. Spoločnosť Sun sa aktívne zapája do vývoja systému Swing, a preto si swing postupne zaobchádza s novými funkciami a vylepšuje sa.

Väčšina webových prehliadačov nepodporuje hojdačka. Preto je potrebné mať k dispozícii doplnok Java. Swing je pomalší v porovnaní s AWT. Keďže komponenty Swing pracujú s vlastným obrazom (namiesto použitia natívnych rozhraní API, ako je DirectX v systéme Windows), môže sa to prejaviť v grafických chybách.

Porovnávacia tabuľka medzi AWT a Swing:

AWTHOJDAČKA
AWT je skratka pre súbor abstraktných okien.Swing je súčasťou Java Foundation Classes (JFC).
AWT závisí od platformy. Jeho kód sa nachádza v OS systému, čo znemožňuje nezávislosť platformy.Komponenty Swing sú vyrábané v JAVA. Vďaka tomu je platforma nezávislá.
Komponenty AWT sú ťažké.Komponenty Swing sú ľahké.
AWT nerešpektuje MVC (Model View Controller).Swing je založený na MVC.
Komponenty AWT vyžadujú balík java.awt.packageKomponenty Swing vyžadujú javax.swing.package.
AWT nemá tablu Jtable a Jtabbed.Swing má tablu Jtable a Jtabbed.
AWT závisí od platformy, a preto nie je veľmi odlišný vzhľad a dojem.Swing môže mať odlišný vzhľad a dojem.
AWT zaberá viac miesta v pamäti.Swing zaberá menej miesta v pamäti.
AWT je menej výkonný ako Swing.Swing je rozšírenie AWT, takže sa odstraňuje veľa nedostatkov.
Vzhľad a dojem z AWT závisí od platformy.Vzhľad a dojem zo Swing je nezávislý od základnej platformy a operačného systému.
Komponenty AWT závisia od správneho fungovania natívneho kódu (rovesníkov). Preto sú tieto komponenty „komponenty s vysokou hmotnosťou“.Swing takúto závislosť nemá. Preto tieto komponenty sú „komponenty s nízkou hmotnosťou“.

záver:

Oba AWT vs Swing sa používajú na vytváranie grafického užívateľského rozhrania v jazyku Java. Obaja sú robustní a majú svoje vlastné klady a zápory. Komponent AWT je vhodný na jednoduchý vývoj aplikácií, ktorý je väčšinou navrhnutý tak, aby fungoval na jednom OS. Vzhľadom k tomu, swing je najnovšie rozhranie, ktoré je úplne postavené na Java. Swing dáva užívateľovi slobodu kódovania raz a beží kdekoľvek. Poskytuje tiež širšiu škálu komponentov ako AWT. Závisí to úplne od požiadaviek používateľa. Aj keď AWT je starý vývoj, ktorý sa v AWT stále deje a je stále lepší. Ak je požiadavkou vyzerať a cítiť sa viac ako základný operačný systém, potom by bola lepšou alternatívou AWT. Ak chcete flexibilnejšie GUI, je dobré ísť s swingom.

Odporúčané články

Toto bol návod na najväčší rozdiel medzi AWT a Swing. Tu diskutujeme aj kľúčové rozdiely medzi AWT a Swing s informačnými a porovnávacími tabuľkami. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Java vs Ruby - ktorý z nich je lepší?
  2. Python vs Scala - najväčšie rozdiely
  3. Rozdiel medzi HTML5 a Flash
  4. WordPress vs Drupal
  5. Štítok JavaFX
  6. Rozloženie JavaFX
  7. Typy a ako vytvoriť grafy JavaFx?
  8. Posuvník JavaFX
  9. Ako zadávať text v JavaFX TextField?
  10. Konštruktory a metódy tlačidla JavaFx
  11. Top 15 metód HBox v JavaFX

Kategórie: