introduction jfc
У цьому посібнику розглядаються основи програмування графічного інтерфейсу (графічного інтерфейсу користувача) та класи Java Foundation або JFC в Java:
У наших попередніх навчальних посібниках ми розглядали теми, починаючи від основ Java-подібних типів даних, змінних, прийняття рішень, конструкцій циклів тощо до масивів, колекцій та методів у Java.
Ми також обговорили концепцію багатопоточності та винятки. Після цього ми дізналися про підтримку Java OOPS. Використовуючи всі ці концепції, ми можемо розробляти на Java додатки високого рівня, які є багаторазовими та надійними, а також автономними.
=> Перегляньте тут, щоб побачити A-Z підручників із навчання Java.
У цьому підручнику ми розпочнемо нашу дискусію про графічну розробку програм на Java. Як і всі інші концепції, Java пропонує численні графічні класи багаторазового використання та APIS, щоб ми могли розробляти наш графічний інтерфейс користувача (GUI).
Що ви дізнаєтесь:
Що таке графічний інтерфейс користувача в Java
Графічний користувальницький інтерфейс або просто названий “GUI” - загальний термін, що використовується у світі програмного забезпечення. Графічний інтерфейс представляє програму, яка має візуальний дисплей для користувача з простими у користуванні елементами управління. Графічний інтерфейс зазвичай складається з графічних компонентів, таких як вікна, рамки, кнопки, мітки тощо.
Ми можемо використовувати ці компоненти для взаємодії із системою чи навіть зовнішнім світом. Java пропонує безліч API та багаторазових класів, за допомогою яких ми можемо розробляти графічні програми. Одним із найдавніших наборів, що надається Java, є 'Абстрактний набір інструментів для вікон' або AWT. Всі новіші API або компоненти, такі як Swing; JavaFX тощо базуються на цьому AWT.
Консольні програми, які ми писали до цього часу, однаково важливі, але ми повинні знати, що всі новітні сучасні настільні програми ввімкнені графічно. Це означає, що вони мають готовий до використання графічний інтерфейс, що полегшує користувачеві використання програми за допомогою клацання миші.
Зверніть увагу, що писати графічний інтерфейс не так просто, як малювати деякі фігури або включати зображення. Графічний інтерфейс містить послідовність дій, які також запускають деякі події, які, у свою чергу, виконують деякі дії при виклику компонента або частини компонента, як, натиснувши кнопку, ми запускаємо деякі дії.
Отже, додаток графічного інтерфейсу - це структура, що складається з графічних компонентів та подій, які можуть запускатися на цих компонентах, та дій, які виконуються в результаті активації подій.
Фреймворки зазвичай пропонують скомпільовані багаторазові класи та компоненти, які ми можемо перетягувати в область малювання, а потім пов’язувати події та дії з цими компонентами.
Java забезпечує наступні основні фреймворки.
Java надає такі основи для програмування графічного інтерфейсу:
- Абстрактний набір інструментів для вікон: Це найстаріший фреймворк в Java, і він був вперше представлений в JDK 1.0. Більшість компонентів AWT зараз застарілі і замінені компонентами Java swing.
- API Swing: Це набір графічних бібліотек, розроблених поверх AWT і є частиною Java Foundation Classes (JFC). Swing має модульну архітектуру, в якій ми можемо використовувати plug-and-play для компонентів.
- JavaFX: Найновіший фреймворк доступний з Java 8 і далі.
Існують різні сторонні графічні фреймворки, такі як Eclipse's Standard Widget Toolkit (SWT) або Google Web Toolkit (GWT), які використовуються на Android.
Класи Java Foundation (JFC)
Java надає набір функцій та функціональних можливостей для розробки графічних інтерфейсів користувача або графічних інтерфейсів. Цей набір функцій відомий як Java Foundation Classes або JFC.
За допомогою JFC ми можемо додати багату графічну функціональність додаткам, а також зробити їх більш інтерактивними. JFC містить набір графічних компонентів, які можна легко підключити до нашого додатку та програмувати відповідно до наших вимог. Але програмування цих компонентів зазвичай займає лише кілька рядків коду.
JFC містить класи з пакетів java.awt та javax.swing. Окрім них, він також містить класи, пов’язані з Java 3D, Java 2D, доступністю Java тощо. JFC синхронізується з моделлю об’єктів та компонентів Java і, отже, проста у використанні.
Наступна діаграма узагальнює різні компоненти JFC.
Як показано вище, JFC містить AWT, а також класи Swing. Ми обговоримо кожен із них, продовжуючи роботу з підручниками Java AWT та Java Swing. JFC також пропонує різні методи, які ми можемо використовувати в нашій програмі.
Деякі з найбільш часто використовуваних методів:
Метод | Опис |
---|---|
public void add (Компонент c) | Додає компонент до батьківського компонента, що викликає метод. |
public void setSize (int width, int height) | Встановлює розмір компонента із заданою шириною та висотою. |
public void setLayout (LayoutManager m) | Встановіть вказаний менеджер макета для цього компонента. |
public void setVisible (логічне значення b) | Встановіть видимість компонента відповідно до логічного значення. За замовчуванням видимість хибна. |
Тепер перейдемо до обговорення компонентів графічного інтерфейсу на загальному рівні. Потім у наступних підручниках ми обговоримо пакети AWTand Swing та їх компоненти.
Віконні компоненти
Ми знаємо, що батьківським контейнером будь-якої програми графічного інтерфейсу є Вікно, яке може містити один або кілька кадрів.
Графічний інтерфейс зазвичай включає елементи інтерфейсу користувача або елементи, які відображаються як частина графічного інтерфейсу в додатку.
Ці компоненти вікна є такими:
- Інформаційні елементи: Елементи або компоненти, які надають нам інформацію, такі як мітки, піктограми, банери або діалогові вікна повідомлень.
- Елементи керування входом: Текстові поля, кнопки, випадаючі списки, прапорці, перемикачі тощо - це елементи керування введенням, які дозволяють нам читати дані від користувача.
- Навігаційні компоненти: Такі компоненти, як меню, бічні панелі, панірувальні сухарі тощо, допомагають нам переміщатися по додатку.
Давайте тепер опишемо деякі важливі компоненти в графічному інтерфейсі.
Кадр в Java
Рамка - це графічне вікно, видиме на екрані. Кадр можна розглядати як компонент, але оскільки він утворює фізичне вікно, яке ми можемо побачити на екрані, він трактується інакше, ніж інші компоненти. Фрейм може мати інші графічні компоненти, такі як кнопки, текстові поля тощо, а також панелі.
Рамки також мають методи, які не підтримуються іншими компонентами. “Java.awt.Frame” представляє клас в AWT, тоді як JFrame - це клас, що міститься в пакеті Java Swing, який представляє Frame.
Отже, будь-яка програма графічного інтерфейсу почнеться з побудови об'єкта JFrame, який утворює головне вікно. Після створення об’єкта JFrame ми можемо встановити його властивість видимості на true, викликаючи setVisible (‘true’). Потім ми можемо перетягувати інші компоненти в цей кадр.
Усі компоненти графічного інтерфейсу, включаючи фрейми, мають деякі загальні властивості, оскільки вони є частиною загальної ієрархії успадкування, показаної вище. Тож можна сказати, що в пакеті Swing є потужний випадок спільного використання коду.
На наступному малюнку показано типове вікно кадру в редакторі графічного інтерфейсу.
Як ми бачимо з наведеного малюнка, самим зовнішнім вікном у редакторі дизайну (позначеним меншою червоною стрілкою) є кадр. Усередині цього кадру ми маємо різні інші компоненти або дочірні компоненти кадру.
Це видно з панелі ліворуч, яка показує деревоподібну структуру компонентів. Як позначено більшою червоною стрілкою, JFrame є кореневим компонентом, а тоді всі інші компоненти є його дочірніми компонентами.
JPanel в Java
Контейнер JPanel є частиною пакету Swing на Java. JPanel зберігає групу компонентів. JPanel організував компоненти, використовуючи встановлений ним макет. Різні макети можуть допомогти JPanel краще організувати компоненти.
JPanel розглядається як основний будівельний блок для компонування компонентів у рамці або всередині інших панелей. Програма графічного інтерфейсу зазвичай має головне вікно Frame та одну або декілька панелей усередині нього для утримання та організації різних компонентів.
На наступному зображенні показано простий приклад панелі всередині кадру.
Як показано вище, контейнер Panel вбудований у контейнер вікна Frame. Ми можемо мати одну або кілька панелей або навіть панель всередині панелі. Тоді ми можемо застосувати будь-який менеджер макета до панелі, який організує компоненти або елементи всередині панелі. Менеджером макетів за замовчуванням для JPanel є 'FlowLayout'.
Макети графічного інтерфейсу в Java
Контейнер Java використовує автоматичне розміщення компонентів на екрані. Але про розмір і положення компонентів дбає «менеджер верстки». Менеджер компонування встановлюється для контейнера під час проектування. Його також можна динамічно змінювати.
Поширені макети, що використовуються в графічному інтерфейсі Java:
# 1) BorderLayout
Макет меж ділить компонент на 5 областей, як показано нижче.
З них 4 області, а саме «Північ», «Південь», «Схід» та «Захід», не підлягають зміні. Площа 'Центр' може бути змінена. Зверніть увагу, що кожна область має обмеження лише на один компонент, і панелі можуть використовуватися для утримання декількох компонентів.
# 2) FlowLayout: Цей макет використовується для вміщення декількох компонентів. Кілька компонентів розташовані горизонтально, і вони обертаються, якщо ширина контейнера вичерпана. Також компоненти відображаються в порядку зліва направо.
# 3) BoxLayout: Використовуючи макет коробки, компоненти розташовані вертикально або горизонтально. Таке розташування коробки не залежить від розміру контейнера. Компоненти в контейнері встановлені таким чином, щоб вони заповнювали контейнер і мали однакові розміри.
Це були деякі важливі та загальні компоненти, які ми маємо при розробці графічного інтерфейсу. У наступних підручниках з AWT та Swing ми розглянемо деталі інших компонентів, що надаються цими пакетами.
Часті запитання
Q # 1) Що таке програмування графічного інтерфейсу?
Відповідь: Програми, розроблені з використанням графічних компонентів, які взаємодіють з комп'ютером за допомогою вказівного пристрою і керуються подіями, тобто вони виконують деякі дії, коли запускаються певні події, і називається програмуванням графічного інтерфейсу.
Програмування графічного інтерфейсу використовує фреймворки графічного інтерфейсу, де ми можемо безпосередньо підключати та використовувати графічні компоненти.
Q # 2) Який графічний інтерфейс використовувати з Java?
Відповідь: Java підтримує найкращі фреймворки, які ми можемо використовувати для розробки графічних інтерфейсів, як показано нижче:
- JavaFX.
- Свінг GUI Java.
- AWT: Абстрактний набір інструментів для вікон.
- SWT - стандартний набір віджетів.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
Q # 3) Які переваги графічного інтерфейсу користувача?
Відповідь: Програма GUI робить програми інтерактивними, інтуїтивно зрозумілими та простішими у використанні та навчанні. Оскільки вони надають користувачеві графічні наочні зображення, дії мають більший ефект, і таким чином ми отримуємо негайний візуальний відгук про програму.
Q # 4) Що таке API JavaFX?
як подати звіт про помилку
Відповідь: JavaFX - це остання бібліотека Java, написана у власному коді Java і містить класи та інтерфейси. JavaFX можна використовувати для проектування графічних інтерфейсів у версіях Java пізніше, ніж Java 8.
Q # 5) Чи хороша Java для графічного інтерфейсу?
Відповідь: Хоча Java має більше інструментів для розробки графічних інтерфейсів, а також найкращу підтримку, вона не така швидка та ефективна, як бібліотека MFC на C ++, яка має майже всі функції для розробки вдосконалених графічних інтерфейсів.
Висновок
У цьому підручнику ми дослідили програмування графічного інтерфейсу на Java. Ми представили деякі важливі концепції програмування графічного інтерфейсу на Java, а також побачили огляд графічних інтерфейсів, що підтримуються Java. Ми обговорили огляд бібліотеки JFC.
=> Перевірте ВСІ підручники Java тут.
Рекомендована література
- Вступ до мови програмування Java - Підручник з відео
- ООП Java: Вступ до об’єктно-орієнтованого програмування на Java
- Підручник з Java Float із прикладами програмування
- Двомісний підручник з прикладами програмування
- Підручник з Java SWING: Контейнер, компоненти та обробка подій
- Зворотний рядок Java: Підручник із прикладами програмування
- Компоненти Java: платформа Java, JDK, JRE та віртуальна машина Java
- Рядок Java порівняти до методу з прикладами програмування