Java AWT (Abstract Window Toolkit) és una API per desenvolupar una interfície gràfica d'usuari (GUI) o aplicacions basades en Windows en Java.
Els components Java AWT depenen de la plataforma, és a dir, els components es mostren segons la vista del sistema operatiu. AWT té un gran pes, és a dir, els seus components utilitzen els recursos del sistema operatiu (SO) subjacent.
El java.awt paquet proporciona classes per a l'API AWT com TextField, Label, TextArea, RadioButton, CheckBox, Choice, List, etc.
El tutorial d'AWT ajudarà l'usuari a entendre la programació de la GUI de Java en passos senzills i senzills.
Per què AWT és independent de la plataforma?
Java AWT crida a la plataforma nativa crida a la subrutina de plataforma nativa (sistemes operatius) per crear components d'API com TextField, ChechBox, botó, etc.
Per exemple, una GUI AWT amb components com TextField, etiqueta i botó tindrà un aspecte diferent per a les diferents plataformes com Windows, MAC OS i Unix. La raó d'això és que les plataformes tenen una visió diferent dels seus components natius i AWT crida directament a la subrutina nativa que crea aquests components.
En paraules senzilles, una aplicació AWT semblarà una aplicació de Windows al sistema operatiu Windows, mentre que semblarà una aplicació Mac al sistema operatiu MAC.
Jerarquia AWT de Java
La jerarquia de les classes AWT de Java es detalla a continuació.
Components
Tots els elements com el botó, els camps de text, les barres de desplaçament, etc. s'anomenen components. A Java AWT, hi ha classes per a cada component, tal com es mostra al diagrama anterior. Per col·locar cada component en una posició determinada en una pantalla, hem d'afegir-los a un contenidor.
Contenidor
El contenidor és un component d'AWT que pot contenir altres components com ara botons, camps de text, etiquetes, etc. Les classes que amplia la classe Container es coneixen com a contenidor, com ara Marc, diàleg i Panell .
com funciona un ordinador
Bàsicament és una pantalla on es col·loquen els components a les seves ubicacions específiques. Així, conté i controla la disposició dels components.
Nota: un contenidor en si és un component (vegeu el diagrama anterior), per tant podem afegir un contenidor dins del contenidor.
Tipus de contenidors:
Hi ha quatre tipus de contenidors a Java AWT:
- Finestra
- Panell
- Marc
- Diàleg
Finestra
La finestra és el contenidor que no té vores ni barres de menú. Heu d'utilitzar marc, diàleg o una altra finestra per crear una finestra. Hem de crear una instància de la classe Window per crear aquest contenidor.
Panell
El Panell és el contenidor que no conté barra de títol, vora o barra de menú. És un contenidor genèric per contenir els components. Pot tenir altres components com el botó, el camp de text, etc. Una instància de la classe Panel crea un contenidor, al qual podem afegir components.
Marc
El marc és el contenidor que conté la barra de títol i la vora i pot tenir barres de menú. Pot tenir altres components com el botó, el camp de text, la barra de desplaçament, etc. Frame és el contenidor més utilitzat durant el desenvolupament d'una aplicació AWT.
Mètodes útils de classe de components
Mètode | Descripció |
---|---|
public void add (component c) | Insereix un component en aquest component. |
public void setSize (amplada int, altura int) | Estableix la mida (amplada i alçada) del component. |
public void setLayout(LayoutManager m) | Defineix el gestor de maquetació per al component. |
public void setVisible (estat booleà) | Canvia la visibilitat del component, per defecte false. |
Exemple de Java AWT
Per crear un exemple simple d'AWT, necessiteu un marc. Hi ha dues maneres de crear una GUI mitjançant Frame a AWT.
- En estendre la classe Frame ( herència )
- En crear l'objecte de la classe Frame ( Associació )
AWT Exemple per herència
Vegem un exemple senzill d'AWT on estem heretant la classe Frame. Aquí, estem mostrant el component del botó al marc.
AWTExample1.java
radix sort
// 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(); } }descarregueu aquest exemple
A l'exemple anterior s'utilitza el mètode setBounds(int x-axis, int y axis, int width, int height) que estableix la posició del botó awt.
Sortida:
AWT Exemple per associació
Vegem un exemple senzill d'AWT on estem creant una instància de la classe Frame. Aquí, estem creant un component TextField, Label i Button al 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(); } }descarregueu aquest exemple
Sortida: