Ключевая разница - AWT против Swing
Java - это язык программирования высокого уровня, разработанный Sun Microsystems. Java поддерживает объектно-ориентированное программирование, которое помогает проектировать и разрабатывать программное обеспечение с использованием объектов. Когда Java-программа компилируется, она преобразуется в байт-код. Этот байт-код интерпретируется виртуальной машиной Java (JVM) на любой платформе. Следовательно, это язык программирования, который программисты могут написать один раз и запустить на любой платформе. Java можно использовать для разработки различных приложений, таких как настольные, мобильные и веб-приложения. Язык предоставляет наборы инструментов для создания богатых графических интерфейсов пользователя (GUI). Два из них - AWT и Swing. В этой статье обсуждается разница между AWT и Swing. Ключевое различие между AWT и Swing заключается в том, что AWT - это исходный инструментарий для работы с окнами, графикой и виджетами пользовательского интерфейса, зависящий от платформы Java, а Swing - это набор инструментов для виджетов GUI для Java, который является расширением для AWT.
Что такое AWT?
Графический интерфейс пользователя - это интерфейс, с помощью которого пользователи могут давать инструкции программному обеспечению для выполнения задач. Он состоит из различных графических компонентов. Некоторыми компонентами графического интерфейса являются окно, кнопка, поле со списком, текстовая область, поле со списком и метка. Используя эти компоненты, программист может разработать интерактивный пользовательский интерфейс для приложения. Графический интерфейс основан на событиях. Нажатие кнопки, закрытие окна, ввод чего-либо в текстовое поле - вот некоторые примеры событий, которые могут произойти в приложении на основе графического пользовательского интерфейса. Сегодня многие приложения содержат графический интерфейс. Мобильные приложения, системы бронирования авиабилетов, банкоматы имеют богатые графические интерфейсы, позволяющие клиентам легко использовать приложение.
AWT расшифровывается как Abstract Window Toolkit. AWT требует собственного объекта ОС для реализации функций. Поэтому компоненты AWT имеют большой вес и требуют больше памяти. Компоненты AWT также требуют времени для выполнения. Количество компонентов, доступных в AWT, минимально. Необходимо импортировать пакет javax.awt для разработки приложений с графическим интерфейсом на основе AWT.
Рисунок 01: AWT и Swing
Некоторыми компонентами AWT являются кнопки, текстовые поля, раскрывающиеся списки, полосы прокрутки, окна, рамки, панели, метки. После создания объектов их можно поместить в контейнер. Контейнер предоставляет пространство для загрузки компонентов. AWT не поддерживает подключаемый внешний вид. Поэтому приложение AWT, разработанное в одной операционной системе, может не выглядеть так же в другой операционной системе.
Что такое свинг?
Swing - это набор инструментов для виджетов с графическим интерфейсом для Java. Это часть Oracle Java Foundation Classes (JFC). Это интерфейс прикладного программирования для создания графического интерфейса для приложений Java. Он построен на основе AWT API. Swing был разработан для предоставления более гибких и сложных компонентов, чем AWT. Swing содержит основные компоненты, такие как метки, текстовые поля, кнопки. Он также содержит более продвинутые компоненты. Некоторые из них представляют собой деревья, таблицы, списки, панели прокрутки и панели с вкладками. Если программисту необходимо реализовать приложение Swing, необходимо импортировать пакет javax.swing. Пакет предоставляет классы для Java Swing API, такие как JButton, JRadioButton, JTextField, JCheckbox и т. д.
Компоненты Swing не имеют кода, зависящего от платформы. Таким образом, Swing не зависит от платформы. В отличие от AWT, Swing не требует собственных вызовов ОС для сборки компонентов. JVM отвечает за вызов нативных методов. Компоненты Swing легкие. Требуемый объем памяти также минимален. Это важный фактор для более быстрой работы приложений на основе Swing. В разработке приложений модель, представление, контроллер (MVC) является распространенным шаблоном проектирования. Модель представляет данные. Представление представляет собой презентацию, а контроллер - это интерфейс между моделью и представлением. Свинг следует этому образцу. Swing поддерживает подключаемый внешний вид. В целом, он более мощный, чем AWT.
В чем сходство между AWT и Swing?
Оба набора инструментов основаны на Java для создания графического пользовательского интерфейса
В чем разница между AWT и Swing?
AWT против Swing |
|
AWT - это исходный инструментарий Java для работы с окнами, графикой и виджетами пользовательского интерфейса, предшествовавший Swing. | Swing - это набор инструментов для виджетов с графическим интерфейсом для Java, который является частью Oracle Java Foundation Class (JFC). |
Зависимость от платформы | |
Компоненты AWT зависят от платформы. | Компоненты Swing не зависят от платформы. |
Количество компонентов | |
AWT содержит меньше компонентов. | Swing имеет большее количество компонентов. |
Компоненты | |
Компоненты AWT тяжеловесны. | Компоненты Swing легкие. |
MVC | |
AWT не следует MVC. | Swing следует за MVC. |
Скорость | |
AWT не так быстр, как Swing. | Swing быстрее, чем AWT. |
Требуемый объем памяти | |
Компоненты AWT требуют больше памяти. | Компоненты Swing требуют меньше места в памяти. |
Обязательный пакет | |
AWT требует импорта пакета javax.awt. | Swing требует импорта пакета javax.swing. |
Подключаемый внешний вид | |
AWT не поддерживает подключаемый внешний вид. | Swing обеспечивает подключаемый внешний вид. |
Резюме – AWT против Swing
В этой статье обсуждались два инструмента проектирования графического пользовательского интерфейса: AWT и Swing. Разница между AWT и Swing заключается в том, что AWT - это исходный набор инструментов Java для работы с окнами, графикой и пользовательским интерфейсом, зависящий от платформы, а Swing - это набор инструментов виджетов GUI для Java, который является расширением для AWT. Swing предоставляет более богатые функциональные возможности по сравнению с AWT. Внешний вид GUI, построенного с использованием Swing, выглядит лучше, чем GUI с AWT. В отличие от AWT, Swing поддерживает подключаемый внешний вид и повышает удобство использования приложения.
Загрузить PDF-версию AWT vs Swing
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь: Разница между AWT и Swing