QUÉ ES?
Es
una librería de clases Java para desarrollar interfaces de usuario gráficas. Es
la librería básica y se ha construido una posterior que es la Swing.
COMPUESTA POR:
- Los Componentes (java.awt.Component)
- Los Contenedores (java,awt.containers), contienen componentes.
- Los gestores de posición (java.awt.LayoutManager), que posiciona los componentes dentro de los contenedores.
- Los eventos (java.awt.AWTEvent), que nos indican las acciones del usuario.
- Es una clase abstracta que representa todo lo que tiene una posición, un tamaño, puede ser pintado en pantalla y puede recibir eventos.
SU ESTRUCTURA:
- Los Contenedores contienen Componentes, que son los controles básicos
- No se usan posiciones fijas de los Componentes, sino que están situados a través de una disposición controlada (layouts)
- El común denominador de más bajo nivel se acerca al teclado, ratón y manejo de eventos
- Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación (no hay áreas cliente, ni llamadas a X, ni hWnds, etc.)
- La arquitectura de la aplicación es dependiente del entorno de ventanas, en vez de tener un tamaño fijo.
- Es bastante dependiente de la máquina en que se ejecuta la aplicación (no puede asumir que un diálogo tendrá el mismo tamaño en cada máquina).
- Carece de un formato de recursos. No se puede separar el código de lo que es propiamente interface. No hay ningún diseñador de interfaces (todavía).
CLASES DE AWT
Clases contenedoras (hijas de
Container)
- Panel: Permite hacer una presentación más avanzada que Container mediante la combinación con subpaneles o subclases para crear contenedores personalizados. La clase Applet que sirve para crear applets Java, hereda de esta clase Panel.
- ScrollPane: Una barra de desplazamiento, horizontal o vertical.
- Window: Una ventana sin borde.
- Frame: Una ventana que no tiene borde. Puede tener asociado un objeto Menubar (una barra de herramientas o barra de menú personalizada).
- Dialog: Una ventana usada para crear diálogos. Tiene la capacidad de ser modal con lo que sólo este contenedor recibiría entradas del usuario.
- Filedialog: Un diálogo que usa el selector de archivos nativo del sistema operativo.
Clases componentes (hijas
directas de Component)
- Button: Un botón gráfico para el que se puede definir una acción que sucederá cuando se presione el botón.
- Canvas: Permite pintar o capturar eventos del usuario. Se puede usar para crear gráficos o como clase base para crear una jerarquía de componentes personalizados.
- Checkbox: Soporta dos estados: on y off. Se pueden asociar acciones que se ejecuten (triggers) cuando el estado cambie.
- Choice: Menú desplegable de opciones.
- Label: Cadena de etiqueta en una localización dada.
- List: Una lista desplegable de cadenas.
- Scrollbar: Desplegable de objetos Canvas.
- TextComponent: Cualquier componente que permita editar cadenas de texto.Tiene dos clases hijas:
- TextField: Componente de texto consistente en una línea que puede ser usada para construir formularios.
- TextArea: Componente para edición de texto de tamaño variable.
EVENTOS DE AWT
Eventos físicos: Son todos hijos
del evento ComponentEvent, que indica algún cambio en un objeto Component:
- InputEvent: Se ha producido una entrada del usuario. Tiene como eventos hijos KeyEvent (pulsación de una tecla) y MouseEvent (acción sobre el ratón).
- FocusEvent: Avisa al programa de que el componente ha ganado o perdido la atención (enfoque) del usuario. Esto se deduce de la actividad del usuario (ratón y teclado).
- WindowEvent: Avisa al programa de que el usuario ha utilizado uno de los controles de ventana a nivel del sistema operativo, como los controles de minimizar o cerrar.
- ContainerEvent: Se envía cuando se añaden o eliminan componentes a un contenedor.
- PaintEvent: Evento especial que señala que el sistema operativo quiere dibujar de nuevo una parte de la interfaz. Un componente debe sobreescribir el método paint() o el método update() para gestionar este evento.
Eventos semánticos: Son todos
hijos del evento AWTEvent, que es el evento base de la jerarquía de eventos:
- ActionEvent: Avisa al programa de acciones específicas de componentes como las pulsaciones de botones.
- AdjustmenteEvent: Comunica que una barra de desplazamiento ha sido ajustada.
- ItemEvent: Avisa al programa cuando el usuario interacciona con una elección, una lista o una casilla de verificación.