Co je AWT v Javě? - Hierarchie a příklad AWT v Javě

Obsah:

Anonim

Úvod do AWT v Javě

Java AWT je také známá jako Abstract Window Toolkit je API, které se používá k vývoji GUI nebo okenních aplikací v Javě. Komponenty Java AWT jsou závislé na platformě, což znamená, že jsou zobrazeny podle pohledu operačního systému. To také znamená, že jeho komponenty využívají prostředky operačního systému. Jáva. Balíček awt poskytuje třídy pro AWT api. Například TextField, CheckBox, Výběr, Popisek, TextArea, Přepínač, Seznam atd.

Hierarchie AWT

Kontejner

Kontejner je jedna z komponent v AWT, která obsahuje další komponenty, jako jsou tlačítka, textová pole, štítky atd. Třídy, které rozšiřují třídu Kontejner, jsou známé jako kontejnery, jako je Rám, Dialog a Panel, jak je znázorněno v hierarchii.

Druhy kontejnerů:

Jak je ukázáno výše, kontejner odkazuje na místo, kam lze přidat komponenty, jako je textové pole, tlačítko, zaškrtávací políčko atd. V AW jsou celkem k dispozici čtyři typy kontejnerů, tj. Okno, Rám, Dialog a Panel. Jak je ukázáno v hierarchii výše, Rám a Dialog jsou podtřídami třídy Window.

Okno

Okno je kontejner, který nemá ohraničení a pruhy nabídek. K vytvoření okna můžete použít rámeček, dialog nebo jiné okno.

Panel

Panel je kontejner / třída, která neobsahuje záhlaví a lišty nabídek. Má další komponenty jako tlačítko, textové pole atd.

Dialog

Dialog je kontejner nebo třída s ohraničením a názvem. Nemůžeme vytvořit instanci třídy Dialog bez přidružené instance příslušné třídy Frame.

Oříznout

Rám je kontejner nebo třída obsahující záhlaví a může mít také pruhy nabídek. Může také obsahovat další komponenty, jako je textové pole, tlačítko atd.

Proč je AWT závislý na platformě?

Java Abstract Window Toolkit volá nativní platformu Ie, podprogram operačního systému, aby vytvořil komponenty, jako je textové pole, zaškrtávací políčko, tlačítko atd. Například AWT GUI obsahující tlačítko by mělo různý vzhled a vzhled v různých platformách, jako je Windows, Mac OS a Unix atd., Protože tyto platformy mají odlišný vzhled a dojem pro příslušná nativní tlačítka a AWT by pak přímo zavolala jejich nativní podprogram, který bude tlačítko vytvářet. Zjednodušeně řečeno, aplikace postavená na AWT by při spuštění na Windows vypadala spíše jako aplikace pro Windows, ale stejná aplikace by vypadala jako aplikace pro Mac, když bude spuštěna na operačním systému Mac.

Základní metody třídy komponent

  • public void add (Component c): Tato metoda vloží komponentu do této komponenty.
  • public void setSize (int width, int height): Tato metoda nastaví velikost (šířku a výšku) dané komponenty.
  • public void setVisible (boolean status): Tato metoda by změnila viditelnost komponenty, která je ve výchozím nastavení false.
  • public void setLayout (LayoutManager m): Tato metoda by definovala správce rozvržení pro konkrétní komponentu.

Příklad Java AWT

GUI můžeme vytvořit pomocí Frame dvěma způsoby:
Buď rozšířením třídy Frame, nebo vytvořením instance třídy Frame
Ukážeme si to na obou příkladech, nejprve rozšíříme třídu 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();
)
)

Ukážme si to na druhém příkladu, tj. Vytvořením instance třídy 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();
)
)

Rozložení v AWT

V AWT jsou 2 rozvržení, která jsou následující:

  • Rozvržení toku je výchozí rozvržení, což znamená, že pokud v kódu nenastavíte žádné rozvržení, pak bude konkrétní rozvržení ve výchozím nastavení nastaveno na Flow. Rozvržení toku by vložilo komponenty, jako jsou textová pole, tlačítka, štítky atd., Do řádkového tvaru, a pokud horizontální prostor není dostatečně dlouhý, aby pojal všechny komponenty, přidal by je do dalšího řádku a cyklus pokračuje. Několik bodů o rozvržení toku:
  1. Všechny řádky v rozvržení toku jsou ve výchozím nastavení zarovnány na střed. Ale v případě potřeby můžeme nastavit zarovnání zleva nebo zprava.
  2. Horizontální a vertikální mezera mezi všemi komponenty je ve výchozím nastavení 5 pixelů.
  3. Ve výchozím nastavení je orientace komponent zleva doprava, což znamená, že komponenty by byly přidávány zleva doprava podle potřeby, ale můžeme ji v případě potřeby změnit zprava doleva.
  • Okrajové rozvržení, do kterého můžeme přidávat komponenty, jako jsou textová pole, tlačítka, štítky atd., Do konkrétních pěti. Tyto oblasti jsou známé jako PAGE_START, LINE_START, CENTER, LINE_END, PAGE_END.

Způsob rozložení ohraničení je:

public BorderLayout (int hgap, int vgap)

Vytvořilo by to uspořádání okrajů s mezerami určenými mezi komponenty. Horizontální mezera je určena pomocí hgap a vertikální mezera je určena pomocí vgap.
Parametry jsou:
hgap - horizontální mezera.
vgap - vertikální mezera.
Totéž můžeme dosáhnout použitím metody setHgap (int hgap) pro horizontální mezeru mezi komponenty a metody setVgap (int vgap) pro vertikální mezeru.

Závěr: Co je AWT v Javě?

Proto můžeme dojít k závěru, že AWT byl navržen tak, aby poskytoval společnou sadu nástrojů pro návrh GUI, které by mohly fungovat na různých platformách. Tyto nástroje zachovaly vzhled a dojem každé platformy.

Doporučené články

Toto byl průvodce Co je AWT v Javě. Zde jsme diskutovali hierarchii, základní metodu, příklad a rozvržení AWT v Javě. Další informace naleznete také v následujících článcích -

  1. Co je Design Pattern v Javě?
  2. Je objekt Javascript orientovaný
  3. Co je to JavaScript?
  4. Co je vývoj softwaru?
  5. Přehled BorderLayout v Javě