El documento describe el Abstract Windows Toolkit (AWT) de Java, que proporciona capacidades gráficas para crear interfaces de usuario. AWT permite crear ventanas, contenedores y componentes gráficos, y maneja eventos del usuario mediante listeners. El proceso general incluye determinar los componentes, crear una clase de ventana principal, agregar componentes a la ventana, definir listeners de eventos e implementar sus métodos.
2. AWT (Abstract Windows Toolkit)
• Es la parte de Java que se ocupa de construir
interfaces gráficas de usuario.
• AWT ha estado presente en Java desde la versión 1.0.
3. Creación de una GUI
• Para construir una GUI hace falta:
1. Un “contenedor” o container, que es la ventana o
parte de la ventana donde se situarán los
componentes. Tiene correspondencia con un
formulario de Visual Basic.
2. Los componentes u objetos del frame.
3. El modelo de eventos. El usuario controla la
aplicación actuando sobre los componentes , de
ordinario con el ratón o con el teclado. Cada vez
que el usuario realiza una determinada acción, se
produce el evento correspondiente, que el sistema
operativo transmite al AWT.
4. • El AWT crea un objeto de una determinada clase de
evento, derivada de AWTEvent, este evento es
transmitido a un determinado método para que lo
gestione.
• El modelo de eventos de Java está basado en que los
objetos sobre los que se producen los eventos (event
sources) registran los objetos que habrán de
gestionarlos (event listeners), para lo cual los event
listeners habrán de disponer de los métodos
adecuados. Estos métodos se llamarán
automáticamente cuando se produzca el evento.
5. • Las capacidades gráficas del AWT resultan pobres y
complicadas en comparación con lo que se puede
conseguir con Visual Basic, pero tienen la ventaja de
poder ser ejecutadas casi en cualquier computador y
con cualquier sistema operativo.
6. Proceso para crear una aplicación
interactiva.
1. Determinar los componentes que van a
constituir la interface de usuario.
2. Crear una clase para la aplicación que
contenga la función main().
3. Crear una clase Ventana, sub-clase de
Frame, que responda al evento
WindowClosing().
4. La función main() deberá crear un objeto de
la clase Ventana y mostrarla por pantalla con
el tamaño y posición adecuados.
7. 5. Añadir al objeto Ventana todos los
componentes y menús que deba contener.
Se puede hacer ene el constructor de la
ventana o en el propio método main().
6. Definir los objetos listener para cada uno de
los eventos que deban estar soportados.
7. Finalmente implementar los métodos de las
interfaces listener que se vayan a hacer cargo
dela gestión de los eventos.
8. Interfaces Listener
Cómo se gestionan los eventos
1. Cada objeto que puede recibir un evento (event
source), registra uno o más objetos para que los
gestionen (event listener). Esto se hace con un
método que tiene la forma:
eventSourceObject.addEventListener(eventListenerObject);
Donde:
eventSourceObject es el objeto en el que se produce el evento.
eventListenerObject es el objeto que deberá gestionar los
eventos
9. 2. Una vez registrado el objeto que gestionará el
evento, perteneciente a una clase que implemente
la correspondiente interface Listener, se deben
definir los métodos de dicha interface. Siempre hay
que definir todos los métodos de la interface,
aunque algunos puedan estar vacíos.
10. Métodos relacionados con cada evento a
través de una interface Listener
Evento Interface Listener Métodos de Listener
ActionEvent ActionListener actionPerformed()
AdjustementEvent AdjustementListener adjustementValueChanged()
ComponenetEvent ComponentListener componentHidden()
componentMoved()
componentResized()
componentShown()
ContainerEvent ContainerListener componentAdded()
componentRemoved()
FocusEvent FocusListener focusGained()
focusLost()
ItemEvent ItemListener itemStateChanged()
keyEvent keyListener keyPressed()
keyReleased()
keyTyped()
12. Eventos Soportados
Componente Eventos generados Significado
Button ActionEvent Click en el botón
CheckBox ItemEvent Seleccionar o deseleccionar un ítem
MenuItem ActionEvent Seleccionar un ítem de un menú
Choice ItemEvent Seleccionar o deseleccionar un ítem
List ActionEvent Hacer doble click sobre un ítem de la lista
ItemEvent Seleccionar o deseleccionar un ítem de la
lista
TextField ActionEvent Terminar de editar una texto pulsando
enter
CheckboxMenuItem ItemEvent Seleccionar o deseleccionar un ítem
ScrollBar AdjustementEvent Cambiar el valor de la scrollbar
TextComponent TextEvent Cambiar el texto
13. Componente Eventos generados Significado
Component ComponentEvent Mover, cambiar tamaño, mostrar u ocultar
un componente
FocusEvent Obtener o perder el foco
KeyEvent Pulsar o soltar una tecla
MouseEvent Pulsar o soltar un botón del ratón; entrar o
salir de un componente; mover o arrastrar
el ratón
Container ContainerEvent Añadir o eliminar un componente de un
container
Window WindowEvent Acciones sobre una ventana: abrir, cerrar,
iconizar, restablecer e iniciar el cierre.