Java AWT (Abstract Window Toolkit) je API pro vývoj grafického uživatelského rozhraní (GUI) nebo aplikací založených na systému Windows v Javě.
Komponenty Java AWT jsou závislé na platformě, tj. komponenty se zobrazují podle pohledu operačního systému. AWT má velkou váhu, to znamená, že jeho komponenty využívají zdroje základního operačního systému (OS).
Soubor java.awt balík poskytuje třídy pro AWT API, jako je TextField , Label , TextArea , RadioButton, CheckBox , Choice , List atd.
Výukový program AWT pomůže uživateli pochopit programování Java GUI v jednoduchých a snadných krocích.
Proč je AWT nezávislý na platformě?
Java AWT volá podprogram volání nativní platformy (operační systémy) pro vytváření komponent API, jako je TextField, ChechBox, tlačítko atd.
Například grafické uživatelské rozhraní AWT s komponentami jako TextField, štítek a tlačítko bude mít odlišný vzhled a chování pro různé platformy, jako jsou Windows, MAC OS a Unix. Důvodem je, že platformy mají odlišný pohled na své nativní komponenty a AWT přímo volá nativní podprogram, který tyto komponenty vytváří.
Jednoduše řečeno, aplikace AWT bude vypadat jako aplikace pro Windows v OS Windows, zatímco v MAC OS bude vypadat jako aplikace pro Mac.
Hierarchie Java AWT
Hierarchie tříd Java AWT je uvedena níže.
Komponenty
Všechny prvky jako tlačítko, textová pole, posuvníky atd. se nazývají komponenty. V Java AWT existují třídy pro každou komponentu, jak je znázorněno na obrázku výše. Abychom mohli umístit každou součást na určitou pozici na obrazovce, musíme je přidat do kontejneru.
Kontejner
Kontejner je komponenta v AWT, která může obsahovat další komponenty jako tlačítka , textová pole, štítky atd. Třídy, které rozšiřují třídu Container, jsou známé jako kontejner, např. Rám, Dialog a Panel .
inicializovat seznam pythonu
Je to v podstatě obrazovka, kde jsou komponenty umístěny na svých konkrétních místech. Obsahuje tedy a řídí rozložení komponent.
Poznámka: Kontejner sám o sobě je komponenta (viz výše uvedený diagram), proto můžeme přidat kontejner dovnitř kontejneru.
Typy kontejnerů:
V Java AWT existují čtyři typy kontejnerů:
- Okno
- Panel
- Rám
- Dialog
Okno
Okno je kontejner, který nemá žádné okraje a pruhy nabídek. Pro vytvoření okna musíte použít rámeček, dialog nebo jiné okno. K vytvoření tohoto kontejneru potřebujeme vytvořit instanci třídy Window.
Panel
Panel je kontejner, který neobsahuje záhlaví, rámeček ani pruh nabídek. Je to generický kontejner pro uložení součástí. Může mít další komponenty jako tlačítko, textové pole atd. Instance třídy Panel vytváří kontejner, do kterého můžeme přidávat komponenty.
Rám
Rámeček je kontejner, který obsahuje záhlaví a ohraničení a může mít pruhy nabídek. Může mít další komponenty, jako je tlačítko, textové pole, posuvník atd. Rám je nejrozšířenějším kontejnerem při vývoji aplikace AWT.
binární vyhledávací python
Užitečné metody třídy komponent
Metoda | Popis |
---|---|
public void add (komponenta c) | Vloží komponentu na tuto komponentu. |
public void setSize(int šířka,int výška) | Nastavuje velikost (šířku a výšku) komponenty. |
public void setLayout(LayoutManager m) | Definuje správce rozložení pro komponentu. |
public void setVisible (logický stav) | Změní viditelnost komponenty, ve výchozím nastavení je false. |
Příklad Java AWT
K vytvoření jednoduchého příkladu AWT potřebujete rám. Existují dva způsoby, jak vytvořit GUI pomocí Frame v AWT.
- Rozšířením třídy Frame ( dědictví )
- Vytvořením objektu třídy Frame ( sdružení )
Příklad AWT děděním
Podívejme se na jednoduchý příklad AWT, kde dědíme třídu Frame. Zde ukazujeme komponentu Button na rámu.
AWTEpříklad1.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(); } }stáhněte si tento příklad
Ve výše uvedeném příkladu je použita metoda setBounds(int x-osa, int-osa y, int šířka, int výška), která nastavuje polohu tlačítka awt.
Výstup:
Příklad AWT podle sdružení
Podívejme se na jednoduchý příklad AWT, kde vytváříme instanci třídy Frame. Zde vytváříme komponenty TextField, Label a Button na rámu.
AWTEpříklad2.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(); } }stáhněte si tento příklad
Výstup: