Вступ до AWT на Java

Java AWT також відомий як Abstract Window Toolkit - це API, який використовується для розробки будь-якого GUI або віконних додатків на Java. Компоненти Java AWT залежать від платформи, що означає, що вони відображаються відповідно до подання операційної системи. Це також означає, що його компоненти використовують ресурси Операційної системи. java. Пакет awt забезпечує класи для AWT api. Наприклад, TextField, CheckBox, Choice, Label, TextArea, Radio Button, List і т.д.

Ієрархія AWT

Контейнер

Контейнер - це один із компонентів у AWT, який містить інші компоненти, такі як кнопки, текстові поля, мітки тощо. Класи, що розширюють клас Container, відомі як контейнери, такі як Frame, Dialog та Panel, як показано в ієрархії.

Типи контейнерів:

Як було показано вище, контейнер посилається на місце, куди можна додавати компоненти, наприклад текстове поле, кнопку, прапорець тощо. Загалом, у AW доступні чотири типи контейнерів, тобто Window, Frame, Dialog та Panel. Як показано в ієрархії вище, Frame і Dialog є підкласами класу Window.

Вікно

Вікно - це контейнер, який не має меж і рядків меню. Для того, щоб створити вікно, ви можете використовувати кадр, діалогове вікно або інше вікно.

Панно

Панель - це контейнер / клас, який не містить заголовка та рядків меню. У ньому є інші компоненти, такі як кнопка, текстове поле тощо.

Діалог

Діалог - це контейнер або клас, що має межу та назву. Ми не можемо створити екземпляр класу Dialog без асоційованого примірника відповідного класу Frame.

Обрізка

Кадр є контейнером або класом, що містить рядок заголовка, а також може мати рядки меню. У ньому можуть бути й інші компоненти, наприклад текстове поле, кнопка тощо.

Чому AWT залежить від платформи?

Java Abstract Window Toolkit викликає нативну платформу, тобто підпрограму операційної системи, щоб створити такі компоненти, як текстове поле, прапорець, кнопка тощо. Наприклад, графічний інтерфейс AWT, що містить кнопку, мав би різноманітний вигляд і відчуття на різних платформах, таких як Windows, Mac OS та Unix тощо, оскільки ці платформи мають різний вигляд і відчуття відповідних нативних кнопок, і тоді AWT безпосередньо викликає їх рідну підпрограму, яка збирається створити кнопку. Простими словами, додаток, побудований на AWT, буде більше схожий на додаток Windows при запуску в Windows, однак цей самий додаток буде схожий на додаток Mac під час запуску в операційній системі Mac.

Основні методи класу компонентів

  • public void add (Компонент c): Цей метод буде вставляти компонент у цей компонент.
  • public void setSize (int width, int height): Цей метод встановлює розмір (ширину та висоту) конкретного компонента.
  • public void setVisible (булевий статус): Цей метод змінить видимість компонента, яка за замовчуванням хибна.
  • public void setLayout (LayoutManager m): Цей метод визначає менеджер макетів для конкретного компонента.

Приклад Java AWT

Ми можемо створити графічний інтерфейс за допомогою Frame двома способами:
Або шляхом розширення класу Frame, або шляхом створення екземпляра класу Frame
Покажемо це на обох прикладах, перший розширюючий клас Frame:

import java.awt.*;/* Extend the Frame class here,
*thus our class "Example" would behave
*like a Frame
*/public class Example extends Frame
(Example()
(Button b=new Button("Button!!");
//setting button position on screen
b.setBounds(50, 50, 50, 50);
//adding button into frame
add(b);
//Setting width and height
setSize(500, 300);
//Setting title of Frame
setTitle("This is First AWT example");
//Setting the layout for the Frame
setLayout(new FlowLayout());
/*By default frame is not visible so
*we are setting the visibility to true
*to make it visible.
*/
setVisible(true);
)
public static void main(String args())(
//Creating the instance of Frame
Example fr=new Example();
)
)

Покажемо це на другому прикладі, тобто, створивши екземпляр класу Frame

import java.awt.*;
public class Example (
Example()
(
//Creating Frame
Frame f=new Frame();
//Creating a label
Label l = new Label("User: ");
//adding label to the frame
f.add(l);
//Creating Text Field
TextField t = new TextField();
//adding text field to the frame
f.add(t);
//setting frame size
f.setSize(500, 300);
//Setting the layout for the Frame
f.setLayout(new FlowLayout());
f.setVisible(true);
)
public static void main(String args())
(Example ex = new Example();
)
)

Макети в AWT

У AWT є 2 макети, які є наступними:

  • Макет потоку - це макет за замовчуванням, який має на увазі, якщо ви не встановите жодний макет у своєму коді, тоді для конкретного макета буде встановлено значення "Стандартний" за замовчуванням. Макет потоку містить компоненти, такі як текстові поля, кнопки, мітки тощо у формі рядків, і якщо горизонтальний простір недостатньо довгий, щоб вмістити всі компоненти, то він додасть їх у наступний рядок і цикл продовжується. Кілька пунктів про макет потоку:
  1. Усі рядки в макеті потоку за замовчуванням вирівняні по центру. Але, якщо потрібно, ми можемо встановити вирівнювання зліва або справа.
  2. Горизонтальний та вертикальний зазор між усіма компонентами за замовчуванням становить 5 пікселів.
  3. За замовчуванням орієнтація компонентів зліва направо, що означає, що компоненти будуть додані зліва направо в міру необхідності, але ми можемо змінити її справа наліво за потреби.
  • Макет кордону, в якому ми можемо додавати компоненти, наприклад текстові поля, кнопки, мітки тощо, до певних п'яти Ці регіони відомі як PAGE_START, LINE_START, CENTER, LINE_END, PAGE_END.

Метод компонування кордону:

загальнодоступний BorderLayout (int hgap, int vgap)

Вона побудує макет кордону з проміжками, визначеними між компонентами. Горизонтальний зазор задається hgap, а вертикальний зазор - vgap.
Параметри:
hgap - горизонтальний зазор.
vgap - вертикальний зазор.
Те ж ми можемо досягти, використовуючи метод setHgap (int hgap) для горизонтального зазору між компонентами та метод setVgap (int vgap) для вертикального зазору.

Висновок: Що таке AWT в Java?

Тому ми можемо зробити висновок, що AWT був розроблений для того, щоб надати загальний набір інструментів для GUI-дизайну, які могли працювати на різних платформах. Ці інструменти зберегли вигляд кожної платформи.

Рекомендовані статті

Це було керівництвом щодо того, що таке AWT на Java. Тут ми обговорили ієрархію, основний метод, приклад та макети AWT на Java. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Що таке шаблон дизайну на Java?
  2. Орієнтований на Javascript
  3. Що таке JavaScript?
  4. Що таке розробка програмного забезпечення?
  5. Огляд BorderLayout на Java