гойдалка є бібліотекою Java Foundation Classes [JFC] і розширенням Abstract Window Toolkit [AWT]. Java Swing пропонує значно покращену функціональність порівняно з AWT, нові компоненти, розширені функції компонентів і чудову обробку подій із підтримкою перетягування.
Представлення Java Swing
Swing має приблизно в чотири рази більше компонентів інтерфейсу користувача [UI], ніж AWT, і є частиною стандартного дистрибутива Java. Відповідно до сучасних вимог графічного інтерфейсу додатків, AWT є обмеженою реалізацією, яка не зовсім здатна забезпечити компоненти, необхідні для розробки складних графічних інтерфейсів, необхідних для сучасних комерційних програм. Набір компонентів AWT має досить багато помилок і займає багато системних ресурсів порівняно з еквівалентними ресурсами Swing. Netscape представила свою бібліотеку Internet Foundation Classes [IFC] для використання з Java. Його класи стали дуже популярними серед програмістів, які створювали GUI для комерційних програм.
- Swing — це набір API (API — набір класів та інтерфейсів)
- Swing надається для розробки графічних інтерфейсів користувача
- Swing — це бібліотека розширення до AWT (Abstract Window Toolkit) 17:00–17:30
- Включає нові та вдосконалені компоненти, які покращують зовнішній вигляд і функціональність графічних інтерфейсів користувача
- Swing можна використовувати для створення (розробки) автономних програм графічного інтерфейсу користувача swing у вигляді сервлетів і аплетів
- Він використовує архітектуру дизайну моделі/подання.
- Swing більш портативний і гнучкий, ніж AWT, Swing побудований на AWT.
- Swing повністю написаний на Java.
- Компоненти Java Swing не залежать від платформи, а компоненти Swing є легкими.
- Swing підтримує зовнішній вигляд Pluggable і Swing забезпечує більш потужні компоненти.
- наприклад таблиці, списки, панелі прокручування, засіб вибору кольорів, панель із вкладками тощо.
- Подальший розмах слідує за MVC.
Різниця між Java Swing і Java AWT
Є певні моменти, за якими Java Swing відрізняється від Java AWT, як зазначено нижче:
| Java AWT | Java Swing arraylist.sort |
|---|---|
| Java AWT — це API для розробки програм із графічним інтерфейсом користувача на Java. | Swing є частиною Java Foundation Classes і використовується для створення різних програм. |
| Компоненти AWT мають велику вагу. | Компоненти Java Swing є легкими. |
| Компоненти залежать від платформи. | Компоненти не залежать від платформи. |
| Час виконання більше, ніж Swing. | Час виконання менше AWT. |
| Для компонентів AWT потрібен пакет java.awt. | Для компонентів Swing потрібен пакет javax.swing. |
Щоб дізнатися більше про тему, зверніться до Java Swing проти Java AWT .
Що таке JFC?
JFC розшифровується як Java Foundation Classes. JFC — це набір компонентів GUI, які спрощують настільні програми. Багато програмістів вважають, що JFC і Swing - це одне і те ж, але це не так. JFC містить Swing [пакет компонентів інтерфейсу користувача] та чимало інших елементів:
- Вирізати та вставити: підтримка буфера обміну.
- Функції доступності: спрямовані на розробку GUI для користувачів з обмеженими можливостями.
- Функції кольорів робочого столу вперше були представлені в Java 1.1
- Java 2D: покращена підтримка кольорів, зображень і тексту.
Особливості Swing Class
- Вигляд і відчуття підключення.
- Використовує архітектуру MVC.
- Легкі компоненти
- Незалежний від платформи
- Розширені функції, такі як JTable, JTabbedPane, JScollPane тощо.
- Java є незалежною від платформи мовою та працює на будь-якому клієнтському комп’ютері, зовнішній вигляд графічного інтерфейсу користувача, який належить і надається ОС для конкретної платформи, просто не впливає на графічний інтерфейс програми, створений за допомогою компонентів Swing.
- Легкі компоненти: Починаючи з JDK 1.1, розробка полегшених компонентів, що підтримується AWT. Щоб компонент кваліфікувався як легкий, він не повинен залежати від будь-яких системних класів, що не належать до Java [на основі O/s]. Компоненти Swing мають власне представлення, яке підтримується класами зовнішнього вигляду Java.
- Вигляд і відчуття підключення: Ця функція дозволяє користувачеві змінювати зовнішній вигляд компонентів Swing без перезапуску програми. Бібліотека Swing підтримує вигляд і відчуття компонентів, які залишаються незмінними на всіх платформах, де б не запускалася програма. Бібліотека Swing надає API, який дає реальну гнучкість у визначенні зовнішнього вигляду графічного інтерфейсу користувача програми
- Широкі можливості налаштування – Елементи керування Swing можна налаштувати дуже легко, оскільки візуальний вигляд не залежить від внутрішнього представлення.
- Багате керування – Swing надає багатий набір розширених елементів керування, таких як Tree TabbedPane, повзунок, палітра кольорів і елементи керування таблицею.
Ієрархія класів Swing

Підключення MVC
- Загалом, візуальний компонент – це складене три різні аспекти:
- Те, як компонент виглядає під час візуалізації на екрані.
- Спосіб, яким компонент реагує на користувача.
- Інформація про стан, пов’язана з компонентом.
- Протягом багатьох років однокомпонентна архітектура довела свою виняткову ефективність: – Модель-Вид-Контролер або MVC для короткого.
- У термінології MVC це модель відповідає інформації про стан, пов’язаній із Компонентом.
- The переглянути визначає спосіб відображення компонента на екрані, включаючи будь-які аспекти перегляду, на які впливає поточний стан моделі.
- The контролер визначає, як компонент реагує на користувача.
Найпростіші компоненти Swing мають такі можливості, що виходять далеко за рамки компонентів AWT:
- Поворотні кнопки та мітки можуть відображати зображення замість або на додаток до тексту.
- Межі навколо більшості компонентів Swing можна легко змінити. Наприклад, легко помістити рамку розміром 1 піксель навколо зовнішньої сторони мітки Swing.
- Компоненти гойдалок не обов’язково мають бути прямокутними. Ґудзики, наприклад, можуть бути круглими.
- Тепер новітні технології Assertive, такі як програми зчитування екрана, можуть легко отримувати інформацію з компонентів Swing. Приклад: інструмент зчитування з екрана може легко захопити текст, який відображається на кнопці Swing або ярлику.
Приклад програм Java Swing
Приклад 1. Розробіть програму з використанням мітки (swing) для відображення повідомлення GFG WEB Site Натисніть:
Java
різниця між тигром і левом
// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }> |
>
>
Вихід:

Приклад 2: Напишіть програму для створення трьох кнопок із написом OK, SUBMIT, CANCEL.
Java
// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }> |
array.з java
>
факториал в java
>
Вихід:

Приклад 3: програма для додавання прапорця у фрейм
Java
// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }> |
>
>
Вихід:

Компоненти Swing Class відсоток завдання
| Клас | опис |
|---|---|
| компонент | Компонент — це абстрактний базовий клас для елементів керування інтерфейсом користувача Java SWING, не пов’язаних із меню. Компоненти представляють об’єкт за допомогою графічного зображення. |
| Контейнер | Контейнер — це компонент, який може містити компоненти Java SWING |
| JComponent | JComponent — це базовий клас для всіх компонентів інтерфейсу користувача swing. Для того, щоб використовувати компонент swing, який успадковує JComponent, компонент має бути в ієрархії вмісту, коренем якої є контейнер Java Swing верхнього рівня. |
| JLabel | JLabel — це об’єктний компонент для розміщення тексту в контейнері. |
| JButton | Цей клас створює кнопку з міткою. |
| JColorChooser | JColorChooser надає панель елементів керування, призначену для того, щоб користувач міг керувати кольором і вибирати його. |
| JCheckBox | JCheckBox — це графічний (GUI) компонент, який може перебувати у стані on-(true) або off-(false). |
| JRadioButton | Клас JRadioButton — це графічний (GUI) компонент, який може перебувати у стані on-(true) або off-(false). в групі |
| JList | Компонент JList представляє користувача зі списком текстових елементів, що прокручується. |
| JComboBox | Компонент JComboBox надає користувачеві відображуване меню вибору. |
| JTextField | Об’єкт JTextField — це текстовий компонент, який дозволяє редагувати один рядок тексту. |
| JPasswordField | Об’єкт JPasswordField — це текстовий компонент, призначений для введення пароля. |
| JTextArea | Об’єкт JTextArea — це текстовий компонент, який дозволяє редагувати кілька рядків тексту. |
| Imagelcon | Елемент керування ImageIcon — це реалізація інтерфейсу Icon, який малює піктограми із зображень |
| JScrollbar | Елемент керування JScrollbar представляє компонент смуги прокручування, який дозволяє користувачам вибирати зі значень діапазону. |
| JOptionPane | JOptionPane надає набір стандартних діалогових вікон, які пропонують користувачам ввести значення або щось. |
| JFileChooser | JFileChooser, яким він керує, представляє діалогове вікно, з якого користувач може вибрати файл. |
| JProgressBar | Коли завдання просувається до завершення, індикатор виконання відображає відсоток виконання завдань. |
| JSlides | JSlider цього класу дозволяє користувачеві графічно (GUI) вибирати, використовуючи значення, пересуваючи ручку в межах обмеженого інтервалу. |
| JSpinner | Цей клас JSpinner є однорядковим введенням, де поле, яке дозволяє користувачеві вибирати за допомогою числа або значення об’єкта з упорядкованої послідовності. |