Введение в AWT на Java
Java AWT также известен как Abstract Window Toolkit - это API, который используется для разработки графического интерфейса пользователя или оконных приложений на Java. Компоненты Java AWT зависят от платформы, что означает, что они отображаются в соответствии с представлением операционной системы. Это также тяжелый вес, подразумевающий, что его компоненты используют ресурсы операционной системы. Джава. Пакет awt предоставляет классы для API AWT. Например, TextField, CheckBox, Choice, Label, TextArea, переключатель, список и т. Д.
Иерархия AWT
Контейнер
Контейнер является одним из компонентов в AWT, который содержит другие компоненты, такие как кнопки, текстовые поля, метки и т. Д. Классы, расширяющие класс Container, называются контейнерами, такими как Frame, Dialog и Panel, как показано в иерархии.
Типы контейнеров:
Как показано выше, под контейнером понимается место, где могут быть добавлены компоненты, такие как текстовое поле, кнопка, флажок и т. Д. Всего в AW доступно четыре типа контейнеров: окно, фрейм, диалоговое окно и панель. Как показано в иерархии выше, Frame и Dialog являются подклассами класса Window.
Окно
Окно - это контейнер, у которого нет границ и строк меню. Для того, чтобы создать окно, вы можете использовать рамку, диалог или другое окно.
панель
Панель - это контейнер / класс, который не содержит строку заголовка и строки меню. Он имеет другие компоненты, такие как кнопка, текстовое поле и т. Д.
диалог
Диалог - это контейнер или класс, имеющий границу и заголовок. Мы не можем создать экземпляр класса Dialog без связанного экземпляра соответствующего класса Frame.
Отделка
Frame - это контейнер или класс, содержащий строку заголовка и может также иметь строки меню. Он также может иметь другие компоненты, такие как текстовое поле, кнопка и т. Д.
Почему AWT зависит от платформы?
Java Abstract Window Toolkit вызывает собственную платформу Ie, подпрограмму операционной системы для создания таких компонентов, как текстовое поле, флажок, кнопка и т. Д. Например, графический интерфейс AWT, содержащий кнопку, будет иметь различный внешний вид на разных платформах, таких как Windows. Mac OS, Unix и т. Д., Поскольку эти платформы по-разному выглядят и чувствуют свои соответствующие собственные кнопки, а затем AWT будет напрямую вызывать их собственную подпрограмму, которая будет создавать кнопку. Проще говоря, приложение, построенное на AWT, будет больше походить на приложение Windows при работе в Windows, однако, то же самое приложение будет выглядеть как приложение Mac при работе в операционной системе Mac.
Основные методы класса компонента
- public void add (Component c): этот метод вставит компонент в этот компонент.
- public void setSize (int width, int height): Этот метод устанавливает размер (ширину и высоту) конкретного компонента.
- public void setVisible (логическое состояние): этот метод изменяет видимость компонента, который по умолчанию имеет значение false.
- 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 макета:
- Макет потока - это макет по умолчанию, который подразумевает, что если вы не установите макет в своем коде, то конкретный макет будет по умолчанию установлен на Flow Компоновка потока помещает такие компоненты, как текстовые поля, кнопки, метки и т. Д., В форму строки, и если горизонтальное пространство недостаточно длинное, чтобы вмещать все компоненты, оно добавляет их в следующую строку и цикл продолжается. Несколько моментов о Flow Layout:
- Все строки в макете потока по умолчанию выровнены по центру. Но, если требуется, мы можем установить выравнивание слева или справа.
- Горизонтальный и вертикальный зазор между всеми компонентами по умолчанию составляет 5 пикселей.
- По умолчанию ориентация компонентов слева направо, что подразумевает, что компоненты будут добавляться слева направо по мере необходимости, но мы можем изменить его справа налево при необходимости.
- Макет границы, в котором мы можем добавлять такие компоненты, как текстовые поля, кнопки, метки и т. Д., К конкретным пяти областям. Эти области известны как PAGE_START, LINE_START, CENTER, LINE_END, PAGE_END.
Метод для макета границы:
public BorderLayout (int hgap, int vgap)
Было бы построить макет границы с промежутками, указанными между компонентами. Горизонтальный зазор определяется hgap, а вертикальный зазор - vgap.
Параметры:
hgap– горизонтальный зазор.
вгап - вертикальный разрыв.
Мы также можем достичь того же, используя метод setHgap (int hgap) для горизонтального зазора между компонентами и метод setVgap (int vgap) для вертикального зазора.
Вывод: что такое AWT в Java?
Таким образом, мы можем заключить, что AWT был разработан для того, чтобы предоставить общий набор инструментов для проектирования GUI, который мог бы работать на различных платформах. Эти инструменты сохранили внешний вид каждой платформы.
Рекомендуемые статьи
Это было руководство к тому, что такое AWT в Java. Здесь мы обсудили иерархию, базовый метод, пример и макеты AWT в Java. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Что такое шаблон проектирования в Java?
- Является ли Javascript объектно-ориентированным
- Что такое JavaScript?
- Что такое разработка программного обеспечения?
- Обзор BorderLayout в Java