Різниця між AWT та Swing

Java - це програмне забезпечення, незалежне від платформи. Він надає набір програмного забезпечення, яке можна використовувати для розробки додатків. Одне таке програмне забезпечення - AWT (Abstract Window Toolkit). Це набір програмного інтерфейсу, який використовується для створення компонентів графічного користувальницького інтерфейсу (GUI) та інших служб, необхідних для GUI на Java. Це частина класів Java Foundation. Це полегшує розвиток GUI. AWT включає набір віджетів вікон, графіки та користувальницького інтерфейсу. Він також має надійну обробку подій, інструменти для зображення, диспетчер макетів для гнучких макетів вікон. У цій темі ми дізнаємось про AWT vs Swing та їх відмінності

Swing - це найновіший інструментарій, заснований на AWT. Swing надає програмісту гнучкість незалежності платформи. На відміну від AWT програміст може створювати більш узагальнені об’єкти GUI за допомогою Swing.

Огляд AWT : AWT використовується для підтримки користувальницького інтерфейсу в Java Application. Він забезпечує високий рівень абстракції для програми Java, оскільки вона приховує основні деталі графічного інтерфейсу. Оскільки AWT - це програма Api, побудована в Операційній системі для надання графічного інтерфейсу користувача для Java. Його компонент залежить від базового аналога (наприклад, зовнішній вигляд цієї ОС) для управління їх функціональністю. Таким чином, ці компоненти часто називають компонентами «важкої ваги».

Особливості AWT:

  • Багатий набір компонентів інтерфейсу користувача.
  • Надійна модель обробки подій
  • Диспетчер макета для різних макетів вікон
  • Класи передачі даних підтримують cut-paste через рідну платформу.

Огляд Swing : Swing побудований на AWT, він є частиною класів Java Foundation. Swing базується на Java повністю, тому її платформа не залежить. Він використовується для створення більш ефективного графічного інтерфейсу, ніж AWT.

Особливості гойдалки:

  • Усі функції AWT
  • Забезпечує багатий набір компонентів вищого рівня, таких як дерево, панелі з вкладками, поля списку тощо.
  • Підключений зовнішній вигляд.
  • Відсутня залежність від однорангових компонентів.

Порівняння «голова до голови» між AWT та Swing (Інфографіка)

Нижче наводиться найкраще порівняння між AWT та Swing:

Основні відмінності AWT від Swing:

Оскільки AWT є мостом між додатком і базовим інтерфейсом, його реалізація в новій операційній системі може включати багато роботи. Тому що це вимагає, щоб заново розвивався рідний ровесник. Використання нативного однорангового обмежує функціональність AWT. AWT має два рівні API -

  • Один забезпечує базовий загальний інтерфейс між додатком та рідною ОС.
  • Другий віджет GUI, який забезпечує кодові відсталі об’єкти, керовані на полотні AWT.

Використання нативних компонентів робить AWT швидким. Отже, покращується її продуктивність. Крім того, більшість веб-браузерів підтримує AWT, немає необхідності в плагіні Java для AWT Applets. Але AWT має менший набір компонентів, тому користувачам доводиться писати спеціальний код, щоб отримати власні компоненти на основі AWT. Компоненти AWT не підтримують такі функції, як рядок заголовка та рядки меню.

Swing - це розширення AWT. Це не точна заміна AWT. Отже, він має функції AWT з розширюваністю JAVA. Отже, всі компоненти, які є в AWT, також є у Swing. Але Swing не вимагає однорангового програмування, завдяки чому платформа стає незалежною та легкою. Також Swing дозволяє забезпечити більший спектр компонентів.

Swing - це архітектура, заснована на модульній основі. Він підтримує підключення для користувацької реалізації. Користувач може створити власну реалізацію, щоб замінити типову реалізацію на основі Java. Swing також забезпечує підтримку механізму виконання. Метод непрямого складу дозволяє гойдалці реагувати на зміни часу виконання відповідно до середовища застосування. Swing підтримує такі функції, як піктограми та підказки щодо інструментів. Sun активно бере участь у розробці Swing, тому раз і тоді свінг набуває нових можливостей і стає кращим, ніж раніше.

Більшість веб-браузерів не підтримує розгойдування. Таким чином, для гойдання потрібно мати плагін Java. Гойдалка повільніше порівняно з AWT. Оскільки компоненти Swing працюють із власним малюнком (а не з використанням рідних API, таких як DirectX для Windows), це може зіткнутися з графічними глюками.

Таблиця порівняння між AWT та Swing:

AWTРОЗКЛАД
AWT розшифровується як абстрактний інструментарій для вікон.Swing є частиною класів Java Foundation (JFC).
AWT залежить від платформи. Його код знаходиться в ОС системи, отже унеможливлює незалежність платформи.Комплектуючі для гойдалок виготовлені в JAVA. Таким чином, роблячи платформу незалежною.
Компоненти AWT мають важку вагу.Гойдалки компоненти легкі.
AWT не слідкує за MVC (Model View Controller).Гойдалка базується на MVC.
Компоненти AWT потребують java.awt.packageКомпоненти гойдалки потребують javax.swing.package.
AWT не має панелі Jtable та Jtabbed.Swing має панель Jtable та Jtabbed.
AWT залежить від платформи, тому підтримується не дуже різний зовнішній вигляд.Гойдалки можуть мати різний зовнішній вигляд.
AWT займає більше місця в пам'яті.Гойдалка займає менше місця в пам'яті.
AWT менш потужний, ніж Swing.Swing - це розширення AWT, тому багато недоліків усуваються.
Look and Feel of AWT залежить від платформи.Вигляд Swing незалежно від базової платформи та операційної системи.
Компоненти AWT залежать від належного коду (однолітків) для належного функціонування. Ось чому ці компоненти - це «важкі компоненти».Свінг не має такої залежності. Отже, ці компоненти є "компонентами легкої ваги".

Висновок:

Обидва AWT vs Swing використовуються для створення графічного інтерфейсу користувача на Java. Вони обидва надійні і мають свої плюси і мінуси. Компонент AWT підходить для простої розробки додатків, яка в основному призначена для роботи в одній ОС. Тоді як swing - це останній інтерфейс, який повністю створений на Java. Swing дає користувачеві свободу кодувати один раз і працює будь-де. Він також забезпечує більш широкий спектр компонентів, ніж AWT. Це повністю залежить від вимог користувача. Хоча AWT - це стара розробка, яка все ще відбувається в AWT, і вона стає все кращою. Якщо вимога полягає в тому, щоб мати вигляд і відчувати себе більше схожим на базову операційну систему, тоді AWT був би кращим варіантом. Якщо ви хочете більш гнучкий графічний інтерфейс, тоді гойдалки - це добре.

Рекомендовані статті

Це було керівництвом щодо найбільшої різниці між AWT та Swing. Тут ми також обговорюємо ключові відмінності AWT проти Swing за допомогою інфографіки та таблиці порівняння. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Java проти Ruby - що краще?
  2. Python vs Scala - найкращі відмінності
  3. Різниця між HTML5 та Flash
  4. WordPress проти Drupal
  5. Мітка JavaFX
  6. Макети JavaFX
  7. Типи та як створити графіки JavaFx?
  8. Слайдер JavaFX
  9. Як ввести текст у JavaFX TextField?
  10. Конструктори та методи кнопки JavaFx
  11. Топ-15 методів HBox в JavaFX