AWT representa Kit de herramientas de ventana abstracta. Es una API dependiente de la plataforma para crear GUI (interfaz gráfica de usuario) para programas java.

¿Por qué depende de la plataforma AWT? Java AWT llama subrutina de plataforma nativa (sistemas operativos) para crear componentes como cuadro de texto, casilla de verificación, botón, etc. estas plataformas se ven diferentes por sus botones nativos y AWT llama directamente a su subrutina nativa que crea el botón. En pocas palabras, una aplicación construida en AWT se vería como una aplicación de Windows cuando se ejecuta en Windows, pero la misma aplicación se vería como una aplicación de Mac cuando se ejecuta en Mac OS.

AWT rara vez se usa hoy en día debido a su naturaleza pesada y dependiente de la plataforma. Los componentes AWT se consideran pesados ​​porque los genera el sistema operativo (SO) subyacente. Por ejemplo, si está creando una instancia de un cuadro de texto en AWT, significa que en realidad le está pidiendo al sistema operativo que cree un cuadro de texto para usted.

Swing es una API preferida para aplicaciones basadas en ventanas debido a su naturaleza liviana e independiente de la plataforma. Swing se basa en la API de AWT, sin embargo, proporciona un aspecto ajeno a la plataforma subyacente. Tiene componentes más potentes y flexibles que AWT. Además de los componentes familiares como botones, casillas de verificación y etiquetas, Swing proporciona varios componentes avanzados como paneles con pestañas, paneles de desplazamiento, árboles, tablas y listas. Discutiremos Swing en detalle en un tutorial separado.

Jerarquía AWT

Diagrama de jerarquía de Java AWT

Componentes y contenedores

Todos los elementos como botones, campos de texto, barras de desplazamiento, etc. Se les conoce como componentes. En AWT tenemos clases para cada componente como se muestra en el diagrama de arriba. Para tener todo colocado en una pantalla en una ubicación particular, necesitamos agregarlos a un contenedor. Un contenedor es como una pantalla donde colocamos componentes como botones, campos de texto, casillas de verificación, etc. En resumen, un contenedor contiene y controla el diseño de los componentes. Un contenedor en sí es un componente (que se muestra en el diagrama jerárquico anterior), por lo que podemos agregar un contenedor dentro del contenedor.

leer  Java: diseño de borde en AWT

Tipos de contenedores:

Como se explicó anteriormente, un contenedor es un lugar donde agregamos componentes como campo de texto, botón, casilla de verificación, etc. Hay cuatro tipos de contenedores disponibles en AWT: ventana, marco, diálogo y panel. Como se muestra en el diagrama de jerarquía anterior, Frame y Dialog son subclases de la clase Window.

Ventana: Una instancia de la clase Window no tiene borde ni título
Diálogo: La clase de diálogo tiene un borde y un título. Una instancia de la clase Dialog no puede existir sin una instancia asociada de la clase Frame.
Panel: El panel no contiene barra de título, barra de menú ni borde. Es un contenedor genérico para contener componentes. Una instancia de la clase Panel proporciona un contenedor al que agregar componentes.
Marco: Un marco tiene barras de título, borde y menú. Puede contener diferentes componentes como botones, campos de texto, barras de desplazamiento, etc. Este es el contenedor más utilizado al desarrollar una aplicación en AWT.

Ejemplo de Java AWT

Podemos crear una GUI usando Frame de dos formas:
1) Ampliación de la clase Frame
2) Creando la instancia de la clase Frame
Echemos un vistazo a cada ejemplo.

Ejemplo 1 de AWT: creación de marcos ampliando la clase de marco

import java.awt.*;
/* We have extended the Frame class here,
 * thus our class "SimpleExample" would behave
 * like a Frame
 */
public class SimpleExample extends Frame{
    SimpleExample(){  
        Button b=new Button("Button!!"); 
        
        // setting button position on screen
        b.setBounds(50,50,50,50);  
        
        //adding button into frame 
        add(b); 
        
        //Setting Frame width and height
        setSize(500,300); 
        
        //Setting the title of Frame
        setTitle("This is my 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
         SimpleExample fr=new SimpleExample();  
    }
}

Producción:
Ejemplo 1 de AWT

leer  Java: diseño de borde en AWT

Ejemplo 2 de AWT: creación de marcos mediante la creación de una instancia de la clase Frame

import java.awt.*;
public class Example2 {
   Example2()
   {
      //Creating Frame    
      Frame fr=new Frame();       
      
      //Creating a label
      Label lb = new Label("UserId: "); 
      
      //adding label to the frame
      fr.add(lb);           
      
      //Creating Text Field
      TextField t = new TextField();
      
      //adding text field to the frame
      fr.add
      
      //setting frame size
      fr.setSize(500, 300);  
      
      //Setting the layout for the Frame
      fr.setLayout(new FlowLayout());
            
      fr.setVisible(true);                
   }
   public static void main(String args[])
   {
       Example2 ex = new Example2(); 
   }
}

Producción:
Ejemplo 2 de AWT

Por avivcas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *