JavaAWT (Kit de herramientas de ventana abstracta) es una API para desarrollar una interfaz gráfica de usuario (GUI) o aplicaciones basadas en Windows en Java.
Los componentes de Java AWT dependen de la plataforma, es decir, los componentes se muestran según la vista del sistema operativo. AWT es pesado, es decir, sus componentes utilizan los recursos del sistema operativo (SO) subyacente.
El java.awt paquete proporciona clases para API AWT como TextField, Label, TextArea, RadioButton, CheckBox, Choice, List, etc.
El tutorial de AWT ayudará al usuario a comprender la programación de la GUI de Java en pasos sencillos y sencillos.
¿Por qué AWT es independiente de la plataforma?
Java AWT llama a la plataforma nativa a la subrutina de la plataforma nativa (sistemas operativos) para crear componentes API como TextField, ChechBox, botones, etc.
Por ejemplo, una GUI de AWT con componentes como TextField, etiqueta y botón tendrá una apariencia diferente para las diferentes plataformas como Windows, MAC OS y Unix. La razón de esto es que las plataformas tienen una vista diferente para sus componentes nativos y AWT llama directamente a la subrutina nativa que crea esos componentes.
En palabras simples, una aplicación AWT se verá como una aplicación de Windows en el sistema operativo Windows, mientras que se verá como una aplicación de Mac en el sistema operativo MAC.
Jerarquía AWT de Java
La jerarquía de las clases Java AWT se detalla a continuación.
Componentes
Todos los elementos como el botón, los campos de texto, las barras de desplazamiento, etc. se denominan componentes. En Java AWT, hay clases para cada componente, como se muestra en el diagrama anterior. Para colocar cada componente en una posición particular en una pantalla, debemos agregarlos a un contenedor.
Envase
El Contenedor es un componente en AWT que puede contener otros componentes como botones, campos de texto, etiquetas, etc. Las clases que extienden la clase Contenedor se conocen como contenedores, como Marco, Diálogo y Panel .
ciclo de vida sdlc
Básicamente es una pantalla donde se colocan los componentes en sus ubicaciones específicas. Por tanto, contiene y controla el diseño de los componentes.
Nota: Un contenedor en sí mismo es un componente (consulte el diagrama anterior), por lo tanto, podemos agregar un contenedor dentro del contenedor.
Tipos de contenedores:
Hay cuatro tipos de contenedores en Java AWT:
- Ventana
- Panel
- Marco
- Diálogo
Ventana
La ventana es el contenedor que no tiene bordes ni barras de menú. Debe utilizar un marco, un cuadro de diálogo u otra ventana para crear una ventana. Necesitamos crear una instancia de la clase Window para crear este contenedor.
Panel
El Panel es el contenedor que no contiene barra de título, borde o barra de menú. Es un contenedor genérico para contener los componentes. Puede tener otros componentes como botón, campo de texto, etc. Una instancia de la clase Panel crea un contenedor en el que podemos agregar componentes.
Marco
El Marco es el contenedor que contiene la barra de título y el borde y puede tener barras de menú. Puede tener otros componentes como botón, campo de texto, barra de desplazamiento, etc. Frame es el contenedor más utilizado al desarrollar una aplicación AWT.
cadena.contiene java
Métodos útiles de clase de componente
Método | Descripción |
---|---|
agregar vacío público (Componente c) | Inserta un componente en este componente. |
tamaño del conjunto vacío público (int ancho, int alto) | Establece el tamaño (ancho y alto) del componente. |
setLayout público vacío (LayoutManager m) | Define el administrador de diseño para el componente. |
conjunto vacío públicoVisible (estado booleano) | Cambia la visibilidad del componente, por defecto es falso. |
Ejemplo de AWT de Java
Para crear un ejemplo AWT simple, necesita un marco. Hay dos formas de crear una GUI usando Frame en AWT.
- Al extender la clase Frame ( herencia )
- Al crear el objeto de la clase Frame ( asociación )
Ejemplo de AWT por herencia
Veamos un ejemplo simple de AWT donde heredamos la clase Frame. Aquí, mostramos el componente Botón en el Marco.
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(); } }descarga este ejemplo
El método setBounds(int x-axis, int y-axis, int width, int height) se utiliza en el ejemplo anterior y establece la posición del botón awt.
Producción:
Ejemplo de AWT por asociación
Veamos un ejemplo simple de AWT donde estamos creando una instancia de la clase Frame. Aquí, estamos creando un componente TextField, Label y Button en el marco.
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(); } }descarga este ejemplo
Producción: