Uvod v AWT na Javi
Java AWT je znan tudi kot Abstract Window Toolkit je API, ki se uporablja za razvoj bodisi GUI bodisi okenskih aplikacij na Javi. Komponente Java AWT so odvisne od platforme, kar pomeni, da so prikazane glede na pogled operacijskega sistema. Težko pomeni tudi, da njegove komponente uporabljajo vire operacijskega sistema. java. awt paket zagotavlja razrede za AWT api. Na primer TextField, CheckBox, Choice, Label, TextArea, Radio Button, List itd.
AWT hierarhija
Posoda
Container je ena od komponent v AWT, ki vsebuje druge komponente, kot so gumbi, besedilna polja, nalepke itd. Razredi, ki razširjajo razred Container, so znani kot vsebniki, kot so Frame, Dialog in Panel, kot je prikazano v hierarhiji.
Vrste posod:
Kot je prikazano zgoraj, se vsebnik nanaša na lokacijo, kjer se lahko dodajo komponente, kot so besedilno polje, gumb, potrditveno polje itd. Skupno je na voljo štiri vrste vsebnikov v AW, to je Window, Frame, Dialog in Panel. Kot je razvidno iz zgornje hierarhije, sta Frame in Dialog podrazred razreda Window.
Okno
Okno je vsebnik, ki nima obrobov in menijskih vrstic. Če želite ustvariti okno, lahko uporabite okvir, pogovorno okno ali drugo okno.
Plošča
Panel je vsebnik / razred, ki ne vsebuje naslovne vrstice in menijske vrstice. Ima druge komponente, kot so gumb, besedilno polje itd.
Dialog
Dialog je vsebnik ali razred z mejo in naslovom. Ne moremo ustvariti primerka razreda Dialog brez pridruženega primerka ustreznega razreda Frame.
Trim
Frame je vsebnik ali razred, ki vsebuje naslovno vrstico in ima lahko tudi menijske vrstice. Lahko ima tudi druge komponente, kot so besedilno polje, gumb itd.
Zakaj je AWT odvisen od platforme?
Java Abstract Window Toolkit kliče izvorno platformo, tj. Podprogram operacijskega sistema, da ustvari komponente, kot so besedilno polje, potrditveno polje, gumb itd. Na primer, AWT GUI, ki vsebuje gumb, bi imel raznolike videze in občutke na različnih platformah, kot je Windows, Mac OS in Unix itd., Ker imajo te platforme drugačen videz in občutek za svoje matične gumbe, nato pa bi AWT neposredno poklical svojo osnovno podprogramo, ki bo ustvarila gumb. Z enostavnimi besedami, gradnja aplikacij na AWT bi bila videti bolj podobna programu Windows, ko se zažene v operacijskem sistemu Windows, vendar bi ta ista aplikacija izgledala kot aplikacija Mac, ko se zažene v operacijskem sistemu Mac.
Osnovne metode razreda komponent
- javno neveljavno dodajanje (komponenta c): Ta metoda bi v to komponento vstavila komponento.
- javna void setSize (int širina, int višina): Ta metoda bi določila velikost (širino in višino) posamezne komponente.
- public void setVisible (status logike): Ta metoda bi spremenila vidnost komponente, ki je privzeto napačna.
- javna void setLayout (LayoutManager m): Ta metoda bi opredelila upravitelja postavitve za določeno komponento.
Primer AWT Java
GUI s pomočjo Frame lahko ustvarimo na dva načina:
Bodisi z razširitvijo razreda Frame ali z ustvarjanjem primerka razreda Frame
Pokažimo to z obema primeroma, prvi razširi razred 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();
)
)
Pokažimo ga z drugim primerom, to je z ustvarjanjem primerka razreda 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();
)
)
Postavitve v AWT
V AWT sta dve postavitvi, ki sta naslednji:
- Postavitev toka je privzeta postavitev, kar pomeni, da v kodi ne nastavite nobene postavitve, potem bi bila določena postavitev privzeto nastavljena na Flow. Postavitev toka bi komponente, kot so besedilna polja, gumbi, oznake itd., Postavila v vrstico in če vodoravni prostor ni dovolj dolg, da bi vseboval vse komponente, bi jih dodal v naslednjo vrstico in cikel se nadaljuje. Nekaj točk o postavitvi toka:
- Vse vrstice v postavitvi Flow so privzeto poravnane po sredini. Po potrebi pa lahko postavimo poravnavo levo ali desno.
- Vodoravna in navpična vrzel med vsemi komponentami je privzeto 5 pik.
- Privzeto je orientacija komponent levo proti desni, kar pomeni, da bi komponente dodali po potrebi od leve proti desni, vendar jo lahko po potrebi spremenimo z desne v levo.
- Postavitev meje, v katero lahko v posebne pet dodate komponente, kot so besedilna polja, gumbi, nalepke itd. Te regije so znane kot PAGE_START, LINE_START, CENTER, LINE_END, PAGE_END.
Metoda postavitve meje je:
javni BorderLayout (int hgap, int vgap)
Zgradil bi postavitev obrobe z vrzeli, določenimi med komponentami. Vodoravna vrzel je določena s hgap, navpična vrzel pa z vgap.
Parametri so:
hgap - vodoravna vrzel.
vgap - navpična vrzel.
Enako lahko dosežemo tudi z metodo setHgap (int hgap) za vodoravno vrzel med komponentami in metodo setVgap (int vgap) za navpično vrzel.
Zaključek: Kaj je AWT v Javi?
Zato lahko sklepamo, da je bil AWT zasnovan zato, da bi zagotovil skupen nabor orodij za GUI oblikovanje, ki bi lahko deloval na različnih platformah. Ta orodja so ohranila videz in občutek vsake platforme.
Priporočeni članki
To je vodnik za Kaj je AWT na Javi. Tu smo razpravljali o hierarhiji, osnovni metodi, primeru in postavitvah AWT na Javi. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Kaj je oblikovalski vzorec na Javi?
- Objektno usmerjen v Javascript
- Kaj je JavaScript?
- Kaj je razvoj programske opreme?
- Pregled BorderLayout na Javi