Что такое swing в читах
AWT против Swing
Разница между AWT и Swing
Обзор AWT : AWT используется для поддержки пользовательского интерфейса в приложении Java. Он обеспечивает высокоуровневую абстракцию для Java-программы, поскольку скрывает основные детали GUI. Поскольку AWT представляет собой API-интерфейс, основанный на операционной системе, который обеспечивает графический интерфейс пользователя для Java. Его компонент зависит от базового аналога (например, внешний вид этой ОС) для управления их функциональностью. Таким образом, эти компоненты часто называют «тяжелыми» компонентами.
AWT Особенности включает в себя:
Обзор Swing : Swing построен на AWT, он является частью Java Foundation Classes. Swing полностью основан на Java, поэтому его платформа независима. Он используется для создания более эффективного графического интерфейса, чем AWT.
Сравнение лицом к лицу между AWT и Swing (инфографика)
Ниже приведено 11 лучших сравнений между AWT и Swing:
Ключевые отличия AWT от Swing:
Использование собственных компонентов делает AWT быстрым. Следовательно, улучшается его производительность. Кроме того, большинство веб-браузеров поддерживают AWT, для апплетов AWT не требуется плагин Java. Но AWT имеет меньший набор компонентов, поэтому пользователям приходится писать собственный код, чтобы получить свои собственные компоненты на основе AWT. Компоненты AWT не поддерживают такие функции, как строка заголовка и строки меню.
Свинг является продолжением AWT. Это не точная замена AWT. Следовательно, он имеет функции AWT с расширяемостью JAVA. Итак, все компоненты, присутствующие в AWT, также присутствуют в Swing. Но Swing не требует однорангового программирования, что делает его независимым от платформы и легким. Кроме того, Swing позволяет расширить спектр компонентов.
Большая часть веб-браузера не поддерживает свинг. Таким образом, для свинга нужен Java-плагин. Свинг медленнее по сравнению с AWT. Поскольку компоненты Swing обрабатывают свои собственные рисунки (а не используют нативный API, такой как DirectX в Windows), это может привести к графическим сбоям.
Сравнительная таблица между AWT и Swing:
AWT | SWING |
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 зависят от собственного кода (пиров) для правильной работы. Вот почему эти компоненты являются «тяжелыми компонентами». | У свинга такой зависимости нет. Следовательно, эти компоненты являются «легкими компонентами». |
Вывод:
Рекомендуемые статьи
Руководство по Java Swing
Java Swing – это легкий инструментарий графического интерфейса пользователя (GUI), который включает в себя богатый набор виджетов. Он включает в себя пакет, позволяющий создавать компоненты графического интерфейса для приложений Java, и не зависит от платформы.
Библиотека Swing построена на основе Java Abstract Widget Toolkit (AWT), более старого, зависимого от платформы инструментария GUI. Вы можете использовать компоненты библиотеки Java, такие как кнопка, текстовое поле и т. д. из библиотеки, и вам не нужно создавать компоненты с нуля.
Все компоненты в Swing являются JComponent, который может быть добавлен к классам контейнера.
Что такое контейнерный класс?
Контейнерные классы – это классы, в которых могут быть другие компоненты. Поэтому для создания графического интерфейса нам нужен как минимум один контейнерный объект. Есть 3 типа контейнеров.
Пример: Чтобы научиться проектировать GUI в Java.
Шаг 1) Скопируйте следующий код в редактор
Шаг 2) Сохраните, скомпилируйте и запустите код.
Шаг 3) Теперь давайте добавим кнопку в наш фрейм. Скопируйте следующий код в редактор
Шаг 4) Выполнив код, вы получите большую кнопку.
Шаг 5) Как насчет добавления двух кнопок? Скопируйте следующий код в редактор.
Шаг 6) Сохраните, скомпилируйте и запустите программу.
Шаг 7) Неожиданный вывод =? Кнопки перекрываются.
Менеджер макетов используется для компоновки (или упорядочивания) компонентов JAVA GUI внутри контейнера. Существует много менеджеров макетов, но наиболее часто используемые из них-
Java BorderLayout – BorderLayout помещает компоненты в пять областей: верхнюю, нижнюю, левую, правую и центральную. Это менеджер макетов по умолчанию для каждого Java JFrame.
Java FlowLayout. FlowLayout-это менеджер макетов по умолчанию для каждой JPanel. Он просто раскладывает компоненты в один ряд один за другим.
Java GridBagLayout – это самый сложный из всех макетов. Он выравнивает компоненты, помещая их в сетку ячеек, позволяя компонентам охватывать более одной ячейки.
Шаг 8) Как насчет создания фрейма чата, как показано ниже?
Попробуйте написать код, прежде чем смотреть на программу ниже.
Swing. Десять полезных простых вещей
Хочу поделиться недавним опытом разработки апплетов на Swing и рассказать про подводные камни, приемы найденные и использованные в процессе работы.
Если вы уже имели дело с библиотекой Swing, то можете сразу переходить ко второй главе.
Три шага для быстрого старта
Для быстрого старта и построения простых интерфейсов этих знаний будет вполне достаточно.
Теперь переходим к самому интересному.
Десять полезных простых вещей
1. Для того чтобы выставить look and feel как в системе (например соответствующий теме windows):
2. Меняем шрифт заданный по умолчанию:
3. Простой вариант модального диалога:
Если требуется более продвинутый диалог, есть вариант с возможностью добавления JComponent:
4. Для быстрой локализации диалогов:
5. Для фильтрации элементов в колонках таблицы JTable есть очень хорошая открытая библиотека Swing Bits с помощью которой можно сделать фильтр «как в Экселе».
6. Для того, чтобы дать пользователю возможность выбирать даты есть отличный компонент jcalendar
7. Для проигрывания звука упакованного в jar архив:
Теперь немного нетривиальных фишек:
8. Для того чтобы встроить в строку таблицы кнопку (с правильным рендером клика):
9. Для того, чтобы изменить компоненты swing из другого потока нужно использовать посредника:
10. И наконец фишка про SwingWorker. В один момент времени может выполняться всего десять SwingWorker потоков, связано это с тем, что пул потоков обработчика SwingWorker имеет максимальный размер десять, так что старайтесь чтобы задачи были не большие. Пример из жизни: в IE можно открыть 10 страниц с апплетами, а 11 будет уже ждать(«висеть») пока осводобится место в ThreadPoolExecutor для обработки данных полученных с сервера в другом потоке.
Как создать графический интерфейс с примерами Swing на Java
Swing в Java является частью базового класса Java, который является независимым от платформы. Он используется для создания оконных приложений и включает в себя такие компоненты, как кнопка, полоса прокрутки, текстовое поле и т. д.
Объединение всех этих компонентов создает графический интерфейс пользователя.
Что такое Swing в Java?
Swing в Java – это легкий инструментарий с графическим интерфейсом, который имеет широкий спектр виджетов для создания оптимизированных оконных приложений. Это часть JFC (Java Foundation Classes). Он построен на основе AWT API и полностью написан на Java. Он не зависит от платформы в отличие от AWT и имеет легкие компоненты.
Создавать приложения становится проще, поскольку у нас уже есть компоненты GUI, такие как кнопка, флажок и т. д.
Контейнерный класс
Любой класс, в котором есть другие компоненты, называется контейнерным классом. Для создания приложений с графическим интерфейсом необходим как минимум один класс контейнеров.
Ниже приведены три типа контейнерных классов:
Разница между AWT и Swing
Иерархия
Объяснение: Все компоненты в свинге, такие как JButton, JComboBox, JList, JLabel, унаследованы от класса JComponent, который можно добавить в классы контейнера.
Контейнеры – это окна, такие как рамка и диалоговые окна. Основные компоненты являются строительными блоками любого графического приложения. Такие методы, как setLayout, переопределяют макет по умолчанию в каждом контейнере. Контейнеры, такие как JFrame и JDialog, могут добавлять только компонент к себе. Ниже приведены несколько компонентов с примерами, чтобы понять, как мы можем их использовать.
JButton Class
Он используется для создания помеченной кнопки. Использование ActionListener приведет к некоторым действиям при нажатии кнопки. Он наследует класс AbstractButton и не зависит от платформы.
JTextField Class
Он наследует класс JTextComponent и используется для редактирования однострочного текста.
JScrollBar Class
Он используется для добавления полосы прокрутки, как горизонтальной, так и вертикальной.
JPanel Class
Он наследует класс JComponent и предоставляет пространство для приложения, которое может присоединить любой другой компонент.
JMenu Class
Он наследует класс JMenuItem и является компонентом выпадающего меню, которое отображается из строки меню.
Вывод:
Класс JList
Он наследует класс JComponent, объект класса JList представляет список текстовых элементов.
Вывод:
JLabel Class
Используется для размещения текста в контейнере. Он также наследует класс JComponent.
Вывод:
JComboBox Class
Он наследует класс JComponent и используется для отображения всплывающего меню выбора.
Вывод:
Для размещения компонентов внутри контейнера мы используем менеджер макета. Ниже приведены несколько менеджеров макетов:
Макет границы
Менеджер по умолчанию для каждого JFrame – BorderLayout. Он размещает компоненты в пяти местах: сверху, снизу, слева, справа и по центру.
Макет потока
FlowLayout просто кладет компоненты в ряд один за другим, это менеджер компоновки по умолчанию для каждого JPanel.
GridBag Layout
GridBagLayout размещает компоненты в сетке, что позволяет компонентам охватывать более одной ячейки.
Пример: фрейм чата
Это простой пример создания GUI с использованием Swing в Java.
Средняя оценка / 5. Количество голосов:
Или поделись статьей
Видим, что вы не нашли ответ на свой вопрос.
SWING — Краткое руководство
Swing API — это набор расширяемых компонентов графического интерфейса, облегчающий жизнь разработчика для создания приложений на основе JAVA Front End / GUI. Он построен на основе API-интерфейса AWT и выступает в качестве замены API-интерфейса AWT, поскольку имеет почти все элементы управления, соответствующие элементам управления AWT. Компонент Swing следует архитектуре Model-View-Controller для выполнения следующих критериев.
Одного API должно быть достаточно для поддержки множественного внешнего вида.
API должен быть ориентирован на модель, чтобы не требовалось, чтобы у API самого высокого уровня были данные.
API заключается в использовании модели Java Bean, чтобы инструменты Builder и IDE могли предоставлять разработчикам более качественные сервисы для использования.
Одного API должно быть достаточно для поддержки множественного внешнего вида.
API должен быть ориентирован на модель, чтобы не требовалось, чтобы у API самого высокого уровня были данные.
API заключается в использовании модели Java Bean, чтобы инструменты Builder и IDE могли предоставлять разработчикам более качественные сервисы для использования.
Архитектура MVC
Архитектура Swing API следует свободно основанной архитектуре MVC следующим образом.
Модель представляет данные компонента.
Представление представляет собой визуальное представление данных компонента.
Контроллер принимает входные данные от пользователя в представлении и отражает изменения в данных компонента.
Компонент Swing имеет модель в качестве отдельного элемента, в то время как части View и Controller объединены в элементах пользовательского интерфейса. Из-за этого Swing имеет подключаемую архитектуру внешнего вида.
Модель представляет данные компонента.
Представление представляет собой визуальное представление данных компонента.
Контроллер принимает входные данные от пользователя в представлении и отражает изменения в данных компонента.
Компонент Swing имеет модель в качестве отдельного элемента, в то время как части View и Controller объединены в элементах пользовательского интерфейса. Из-за этого Swing имеет подключаемую архитектуру внешнего вида.
Особенности Swing
Легкий вес — компоненты Swing не зависят от API собственной операционной системы, так как элементы управления Swing API отображаются в основном с использованием чистого кода JAVA, а не вызовов базовой операционной системы.
Богатые элементы управления — Swing предоставляет богатый набор расширенных элементов управления, таких как Tree, TabbedPane, слайдер, палитра цветов и элементы управления таблицами.
Широкие возможности настройки — элементы управления Swing можно легко настроить, поскольку внешний вид не зависит от внутреннего представления.
Сменный внешний вид — графический интерфейс на основе SWING Внешний вид приложения может изменяться во время выполнения в зависимости от доступных значений.
Легкий вес — компоненты Swing не зависят от API собственной операционной системы, так как элементы управления Swing API отображаются в основном с использованием чистого кода JAVA, а не вызовов базовой операционной системы.
Богатые элементы управления — Swing предоставляет богатый набор расширенных элементов управления, таких как Tree, TabbedPane, слайдер, палитра цветов и элементы управления таблицами.
Широкие возможности настройки — элементы управления Swing можно легко настроить, поскольку внешний вид не зависит от внутреннего представления.
Сменный внешний вид — графический интерфейс на основе SWING Внешний вид приложения может изменяться во время выполнения в зависимости от доступных значений.
SWING — Настройка среды
В этом разделе рассказывается, как загрузить и настроить Java на вашем компьютере. Пожалуйста, используйте следующие шаги для настройки среды.
Следуйте инструкциям для загрузки Java и запуска .exe для установки Java на вашем компьютере. После того, как вы установили Java на свой компьютер, вам нужно будет установить переменные среды, чтобы они указывали на правильные каталоги установки.
Настройка пути для Windows 2000 / XP
Предполагая, что вы установили Java в каталог c: \ Program Files \ java \ jdk —
Шаг 1 — Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
Шаг 2 — Нажмите кнопку «Переменные среды» на вкладке «Дополнительно».
Настройка пути для Windows 95/98 / ME
Предполагая, что вы установили Java в каталог c: \ Program Files \ java \ jdk —
Настройка пути для Linux, UNIX, Solaris, FreeBSD
Переменная среды PATH должна указывать на то, где установлены двоичные файлы Java. Обратитесь к документации Shell, если у вас возникли проблемы с этим.
Популярные редакторы Java
Для написания ваших программ на Java вам понадобится текстовый редактор. На рынке доступны еще более сложные IDE. Но сейчас вы можете рассмотреть один из следующих —
Блокнот — на компьютере с Windows вы можете использовать любой простой текстовый редактор, например Блокнот (рекомендуется для этого урока), TextPad.
Блокнот — на компьютере с Windows вы можете использовать любой простой текстовый редактор, например Блокнот (рекомендуется для этого урока), TextPad.
SWING — Управление
Каждый пользовательский интерфейс рассматривает следующие три основных аспекта:
Элементы пользовательского интерфейса — это основные визуальные элементы, с которыми пользователь в конечном итоге видит и взаимодействует. GWT предоставляет огромный список широко используемых и распространенных элементов от базовых до сложных, которые мы рассмотрим в этом руководстве.
Макеты — они определяют, как элементы пользовательского интерфейса должны быть организованы на экране, и обеспечивают окончательный внешний вид графического интерфейса пользователя. Эта часть будет рассмотрена в главе «Макет».
Поведение — это события, которые происходят, когда пользователь взаимодействует с элементами пользовательского интерфейса. Эта часть будет рассмотрена в главе «Обработка событий».
Элементы пользовательского интерфейса — это основные визуальные элементы, с которыми пользователь в конечном итоге видит и взаимодействует. GWT предоставляет огромный список широко используемых и распространенных элементов от базовых до сложных, которые мы рассмотрим в этом руководстве.
Макеты — они определяют, как элементы пользовательского интерфейса должны быть организованы на экране, и обеспечивают окончательный внешний вид графического интерфейса пользователя. Эта часть будет рассмотрена в главе «Макет».
Поведение — это события, которые происходят, когда пользователь взаимодействует с элементами пользовательского интерфейса. Эта часть будет рассмотрена в главе «Обработка событий».
Каждый элемент управления SWING наследует свойства из следующего класса компонентов hiearchy.
S.No. | Класс и описание | ||||
---|---|---|---|---|---|
1 | Составная часть Компонент — это абстрактный базовый класс для элементов управления SWING без пользовательского интерфейса. Компонент представляет объект с графическим представлением Контейнер — это компонент, который может содержать другие компоненты SWING. JComponent — это базовый класс для всех компонентов пользовательского интерфейса SWING. Чтобы использовать компонент SWING, который наследуется от JComponent, этот компонент должен находиться в иерархии содержимого, корнем которой является контейнер SWING верхнего уровня. Компонент — это абстрактный базовый класс для элементов управления SWING без пользовательского интерфейса. Компонент представляет объект с графическим представлением Контейнер — это компонент, который может содержать другие компоненты SWING. JComponent — это базовый класс для всех компонентов пользовательского интерфейса SWING. Чтобы использовать компонент SWING, который наследуется от JComponent, этот компонент должен находиться в иерархии содержимого, корнем которой является контейнер SWING верхнего уровня. Элементы пользовательского интерфейса SWINGНиже приведен список наиболее часто используемых элементов управления при разработке графического интерфейса с использованием SWING.
|