Java AWT (Abstract Window Toolkit) е API за разработване на графичен потребителски интерфейс (GUI) или базирани на Windows приложения в Java.
Компонентите на Java AWT са зависими от платформата, т.е. компонентите се показват според изгледа на операционната система. AWT е тежък, т.е. неговите компоненти използват ресурсите на основната операционна система (ОС).
Файлът java.awt пакет осигурява класове за AWT API като TextField, Label, TextArea, RadioButton, CheckBox, Choice, List и др.
Урокът за AWT ще помогне на потребителя да разбере програмирането на Java GUI с прости и лесни стъпки.
Защо AWT е независим от платформата?
Java AWT извиква основната платформа извиква подпрограмата на основната платформа (операционни системи) за създаване на API компоненти като TextField, ChechBox, бутон и др.
Например AWT GUI с компоненти като TextField, етикет и бутон ще има различен външен вид и усещане за различните платформи като Windows, MAC OS и Unix. Причината за това е, че платформите имат различен изглед за своите собствени компоненти и AWT директно извиква естествената подпрограма, която създава тези компоненти.
С прости думи, AWT приложение ще изглежда като Windows приложение в Windows OS, докато ще изглежда като Mac приложение в MAC OS.
Йерархия на Java AWT
Йерархията на Java AWT класовете е дадена по-долу.
Компоненти
Всички елементи като бутон, текстови полета, ленти за превъртане и т.н. се наричат компоненти. В Java AWT има класове за всеки компонент, както е показано на горната диаграма. За да поставим всеки компонент на определена позиция на екрана, трябва да ги добавим към контейнер.
Контейнер
Контейнерът е компонент в AWT, който може да съдържа други компоненти като бутони, текстови полета, етикети и т.н. Класовете, които разширяват класа на контейнера, са известни като контейнер, като например Рамка, диалог и Панел .
импорт мравка
Това е основно екран, където компонентите са поставени на техните специфични места. По този начин той съдържа и контролира оформлението на компонентите.
Забележка: Самият контейнер е компонент (вижте горната диаграма), следователно можем да добавим контейнер вътре в контейнера.
Видове контейнери:
В Java AWT има четири типа контейнери:
- прозорец
- Панел
- Кадър
- Диалог
прозорец
Прозорецът е контейнер, който няма граници и ленти с менюта. Трябва да използвате рамка, диалогов прозорец или друг прозорец за създаване на прозорец. Трябва да създадем екземпляр на клас Window, за да създадем този контейнер.
Панел
Панелът е контейнер, който не съдържа заглавна лента, рамка или лента с менюта. Това е общ контейнер за съхранение на компонентите. Може да има други компоненти като бутон, текстово поле и т.н. Екземпляр на клас Panel създава контейнер, в който можем да добавяме компоненти.
Кадър
Рамката е контейнерът, който съдържа заглавна лента и рамка и може да има ленти с менюта. Може да има други компоненти като бутон, текстово поле, лента за превъртане и т.н. Frame е най-широко използваният контейнер при разработването на AWT приложение.
Полезни методи на клас компоненти
Метод | Описание |
---|---|
публично празно добавяне (компонент c) | Вмъква компонент върху този компонент. |
public void setSize(int ширина,int височина) | Задава размера (ширина и височина) на компонента. |
public void setLayout(LayoutManager m) | Определя мениджъра на оформлението за компонента. |
public void setVisible (булев статус) | Променя видимостта на компонента, по подразбиране false. |
Пример за Java AWT
За да създадете прост пример за AWT, имате нужда от рамка. Има два начина за създаване на GUI с помощта на Frame в AWT.
- Чрез разширяване на клас Frame ( наследяване )
- Чрез създаване на обект от клас Frame ( асоциация )
AWT Пример чрез наследяване
Нека да видим прост пример за AWT, където наследяваме клас Frame. Тук показваме компонент Бутон на рамката.
AWTExample1.java
ъглов материал
// importing Java AWT class import java.awt.*; // extending Frame class to our class AWTExample1 public class AWTExample1 extends Frame { // initializing using constructor AWTExample1() { // creating a button Button b = new Button('Click Me!!'); // setting button position on screen b.setBounds(30,100,80,30); // adding button into frame add(b); // frame size 300 width and 300 height setSize(300,300); // setting the title of Frame setTitle('This is our basic AWT example'); // no layout manager setLayout(null); // now frame will be visible, by default it is not visible setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample1 f = new AWTExample1(); } }изтеглете този пример
Методът setBounds(int x-axis, int y-axis, int width, int height) се използва в горния пример, който задава позицията на бутона awt.
Изход:
AWT Пример по асоциация
Нека видим прост пример за AWT, където създаваме екземпляр на клас Frame. Тук създаваме TextField, Label и Button компонент на Frame.
AWTExample2.java
// importing Java AWT class import java.awt.*; // class AWTExample2 directly creates instance of Frame class class AWTExample2 { // initializing using constructor AWTExample2() { // creating a Frame Frame f = new Frame(); // creating a Label Label l = new Label('Employee id:'); // creating a Button Button b = new Button('Submit'); // creating a TextField TextField t = new TextField(); // setting position of above components in the frame l.setBounds(20, 80, 80, 30); t.setBounds(20, 100, 80, 30); b.setBounds(100, 100, 80, 30); // adding components into frame f.add(b); f.add(l); f.add(t); // frame size 300 width and 300 height f.setSize(400,300); // setting the title of frame f.setTitle('Employee info'); // no layout f.setLayout(null); // setting visibility of frame f.setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample2 awt_obj = new AWTExample2(); } }изтеглете този пример
Изход: