Разница между AWT и Swing

Java - это независимое от платформы программное обеспечение для разработки приложений. Он предоставляет набор программного обеспечения, которое можно использовать для разработки приложений. Одним из таких программ является AWT (Abstract Window Toolkit). Это набор программного интерфейса, который используется для создания компонентов графического пользовательского интерфейса (GUI) и других сервисов, необходимых для графического интерфейса в Java. Это часть базовых классов Java. Это облегчает разработку GUI. AWT включает в себя набор оконных, графических и пользовательских виджетов интерфейса. Он также имеет надежные средства обработки событий, инструменты обработки изображений, менеджер раскладок для гибкой компоновки окон. В этой теме мы собираемся узнать о AWT против Swing и их различиях

Swing - это самый последний инструментарий, основанный на AWT. Swing дает программисту гибкость в независимости от платформы. В отличие от AWT, программист может создавать более обобщенные объекты GUI, используя Swing.

Обзор AWT : AWT используется для поддержки пользовательского интерфейса в приложении Java. Он обеспечивает высокоуровневую абстракцию для Java-программы, поскольку скрывает основные детали GUI. Поскольку AWT представляет собой API-интерфейс, основанный на операционной системе, который обеспечивает графический интерфейс пользователя для Java. Его компонент зависит от базового аналога (например, внешний вид этой ОС) для управления их функциональностью. Таким образом, эти компоненты часто называют «тяжелыми» компонентами.

AWT Особенности включает в себя:

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

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

Особенности Swing:

  • Все функции AWT
  • Предоставляет богатый набор компонентов более высокого уровня, таких как дерево, панели с вкладками, списки и т. Д.
  • Съемный внешний вид.
  • Нет зависимости от одноранговых компонентов.

Сравнение лицом к лицу между AWT и Swing (инфографика)

Ниже приведено 11 лучших сравнений между AWT и Swing:

Ключевые отличия AWT от Swing:

Поскольку AWT является мостом между приложением и базовым интерфейсом, его реализация в новой операционной системе может потребовать много работы. Потому что это требует, чтобы родной сверстник был развит снова. Использование нативного пира ограничивает функциональность AWT. AWT имеет два уровня API -

  • Один обеспечивает базовый общий интерфейс между приложением и собственной ОС.
  • Второй GUI-виджет, который предоставляет объекты с выделенным кодом, управляемые на холсте AWT.

Использование собственных компонентов делает AWT быстрым. Следовательно, улучшается его производительность. Кроме того, большинство веб-браузеров поддерживают AWT, для апплетов AWT не требуется плагин Java. Но AWT имеет меньший набор компонентов, поэтому пользователям приходится писать собственный код, чтобы получить свои собственные компоненты на основе AWT. Компоненты AWT не поддерживают такие функции, как строка заголовка и строки меню.

Свинг является продолжением AWT. Это не точная замена AWT. Следовательно, он имеет функции AWT с расширяемостью JAVA. Итак, все компоненты, присутствующие в AWT, также присутствуют в Swing. Но Swing не требует однорангового программирования, что делает его независимым от платформы и легким. Кроме того, Swing позволяет расширить спектр компонентов.

Swing - это модульная архитектура. Он поддерживает подключение для пользовательской реализации. Пользователь может создать свою собственную реализацию, чтобы переопределить стандартную реализацию на основе Java. Swing также обеспечивает поддержку механизма выполнения. Косвенный метод компоновки позволяет колебаниям реагировать на изменения времени выполнения в соответствии со средой приложения. Swing поддерживает такие функции, как значки и подсказки. Sun активно участвует в разработке Swing, поэтому время от времени Swing получает новые функции и становится лучше, чем раньше.

Большая часть веб-браузера не поддерживает свинг. Таким образом, для свинга нужен Java-плагин. Свинг медленнее по сравнению с AWT. Поскольку компоненты Swing обрабатывают свои собственные рисунки (а не используют нативный API, такой как DirectX в Windows), это может привести к графическим сбоям.

Сравнительная таблица между AWT и Swing:

AWTSWING
AWT расшифровывается как Abstract Window Toolkit.Swing является частью Java Foundation Classes (JFC).
AWT зависит от платформы. Его код находится в ОС системы, что делает невозможным независимость от платформы.Компоненты качелей сделаны в JAVA. Таким образом, делая его независимым от платформы.
Компоненты AWT имеют большой вес.Качели легкие.
AWT не следует MVC (Model View Controller).Swing основан на MVC.
Для компонентов AWT требуется java.awt.packageДля компонентов Swing требуется javax.swing.package.
AWT не имеет Jtable и Jtabbed панели.У Swing есть Jtable и Jtabbed.
AWT зависит от платформы, поэтому поддерживается не очень отличный внешний вид.Качели могут выглядеть по-разному.
AWT занимает больше места в памяти.Качели занимают меньше места в памяти.
AWT менее мощный, чем Swing.Свинг является продолжением AWT, поэтому многие недостатки устранены.
Внешний вид AWT зависит от платформы.Внешний вид Swing не зависит от базовой платформы и операционной системы.
Компоненты AWT зависят от собственного кода (пиров) для правильной работы. Вот почему эти компоненты являются «тяжелыми компонентами».У свинга такой зависимости нет. Следовательно, эти компоненты являются «легкими компонентами».

Вывод:

Оба AWT против Swing используются для создания графического пользовательского интерфейса в Java. Они оба крепкие и имеют свои плюсы и минусы. Компонент AWT подходит для простой разработки приложений, которая в основном предназначена для работы на одной ОС. В то время как Swing - это новейший интерфейс, полностью построенный на Java. Swing дает пользователю свободу кодировать один раз и работает где угодно. Он также обеспечивает более широкий спектр компонентов, чем AWT. Это полностью зависит от требований пользователя. Хотя AWT - это старая разработка, которая все еще происходит в AWT и становится все лучше. Если требование заключается в том, чтобы выглядеть и чувствовать себя как базовая операционная система, тогда AWT будет лучшим вариантом. Если вы хотите более гибкий графический интерфейс, тогда лучше использовать Swing.

Рекомендуемые статьи

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

  1. Java против Ruby - какая из них лучше?
  2. Python против Scala - основные отличия
  3. Разница между HTML5 и Flash
  4. WordPress против Drupal
  5. JavaFX Label
  6. Макеты JavaFX
  7. Типы и как создавать диаграммы JavaFx?
  8. JavaFX Slider
  9. Как вводить текст в JavaFX TextField?
  10. Конструкторы и методы JavaFx Button
  11. 15 лучших методов HBox в JavaFX