UNIVERSIDAD
CATOLICA DE COLOMBIA
FACULTAD
DE INGENIERIA DE SISTEMAS
CURSO: JAVA BASICO
PROFESOR: EMERSON
CASTAÑEDA SANABRIA
TEMA: AWT
OBJETIVOS:
CONTENIDO:
DESARROLLO:
1. Que es AWT?
El AWT (Abstract Windowing Toolkit) proporciona un gran número de clases que soportan el desarrollo de programas de
ventanas. Estas clases se emplean para crear y organizar ventanas, implementar
componentes de GUI, gestionar eventos, dibujar texto y gráficos, procesar imágenes
y obtener acceso a la implementación nativa de ventanas.
2. Contenedores y Componentes
La clase
Component
La clase
Component es la clase superior del conjunto de clases del AWT que implementa
los controles de la interfaz grafica de usuario. Estos componentes incluyen
ventanas, cuadros de dialogo, botones, etiquetas campos de texto y otros
componentes habituales de una GUI.
Component
proporciona un conjunto de métodos que son empleados por todas sus subclases.
Dichos métodos incluyen métodos para gestionar eventos y trabajar con imágenes,
fuentes y colores. Esta clase implementa más de 70 métodos. Es aconsejable
consultar la documentación correspondiente a la clase Component para
familiarizarse con los tipos de métodos disponibles.
La clase
Container
La clase
Container es una subclase de Component que se utiliza para definir componentes
que pueden contener otros componentes. Proporciona métodos para agregar,
recuperar, visualizar, contar y eliminar los componentes que contiene.
Incorpora el método deliverEvent() para dirigir eventos hacia sus componentes. Asimismo la
clase Container proporciona métodos para trabajar con formatos (Layouts).
La clase
Container posee dos subclases principales: Window y Panel. Window ofrece una
clase superior común para las ventanas principales de aplicaciones (objetos Frame
y Dialog). La clase Panel es un contenedor genérico
que puede visualizarse dentro de una ventana. Una de sus subclases es la clase
Applet, que es la clase básica para todas las miniaplicaciones
java.
La clase
Window
La clase
Window proporciona el encapsulamiento necesario para un objeto ventana genérico. Sus subclases son Frame y Dialog,
que conoce la capacidad necesaria para soportar las ventanas principales y
cuadros de dialogo de una aplicación.
La clase
Window contiene un único constructor que crea una ventana cuyo padre es la
ventana Frame. La ventana Frame es necesaria por que únicamente los objetos de
la clase Frame cuentan con la capacidad funcional precisa para soportar la implementación
de una ventana de aplicación independiente. La clase Window implementa métodos
importantes que son utilizados por sus subclases. El método pack() se usa para organizar
los componentes de una ventana de acuerdo con el estilo de formato de la
misma(layout). El método show() se emplea para
presentar una ventana. Por defecto las ventanas están ocultas y se muestran
solamente al llamar su método show(). Los métodos toFront()
y toBack() se utilizan para ubicar las ventanas con
relación a otras ventanas. El método dispose() se emplea para liberar los recursos asociados a una
ventana y para borra el objeto Window.
En el
momento de crearse una ventana no posee borde ni tampoco barra de menús. Es
este estado, puede emplearse apara implementar una ventana emergente. El
formato por defecto para un objeto Window es BorderLayout.
La clase
Frame
La clase
Frame se utiliza para proporcionar la ventana principal de una aplicación. Es
una subclase de Window que soporta la capacidad de especificar el icono,
cursor, barra de menús y titulo. Dado que implementa la interfaz MenuContainer, es capaz de trabajar con objetos MenuBar.
La clase
Frame define 14 constantes que emplean para especificar los diversos tipos de
cursor que pueden utilizarse dentro del marco.
Frame proporciona dos constructores, un constructor predeterminado que
no recibe parámetros y crea un objeto Frame sin titulo, y un constructor que
acepta un argumento String que se usa como titulo de la ventana.
La clase
Dialog
Dialog es
una subclase de la clase Window que se emplea para implementar ventanas de
cuadros de dialogo. Un cuadro de dialogo es una ventana que acepta entradas por
parte del usuario. La clase Dialog permite construir
cuadro de dialogo de tipo modal y no modales, es decir que precisan cerrarse o
no antes de devolver el control a las otras
ventanas del programa.
La clase Dialog proporciona dos constructores, ambos requieren que
se especifique el objeto Window que
contiene el cuadro de dialogo, así como el indicador de modal. El
segundo constructor permite especificar adicionalmente el titulo del cuadro de
dialogo.
La clase
Panel
Panel es
una subclase de la clase Container que se emplea para organizar componentes de
la GUI dentro de otros objetos contenedores. Posee un único constructor que no
recibe ningún parámetro.
La clase
Label
La clase Label se utiliza para representar etiquetas de texto de
solo lectura dentro de una ventana u otro contenedor de la GUI. Posee tres
constructores. El primero no emplea parámetros y se usa para construir una
etiqueta vacia. El segundo emplea como parámetro un
String que se usa para especificar el texto que contiene la etiqueta. El tercer
constructor posee un parámetro de alineación ademas
del texto. Este parámetro especifica como debe alinerarse
la etiqueta.
La clase Label proporciona métodos para obtener y y definir la etiqueta presentada y su valor de alineación.
La clase
Button
La clase Button implementa un botón que puede pulsarse con el raton. El boton es capaz de
mostrar una etiqueta de texto incorpora dos constructores. El primero de ellos
no utiliza ningún parámetro y crea un botón con la etiqueta vacía. El segundo
constructor acepta un objeto String que
se muestra como la etiqueta del botón.
La clase
Checkbox
Se utiliza
para implementar controles de cuadro de verificación y de control radial de la
GUI. El cuadro de verificación o botón radial esta asociado a una etiqueta. Si
en objeto Checkbox no esta asociado a en objeto CheckboxGroup se implementa
como cuadro de verificación normal. Si lo está, se implementa como botón
radial.
La clase
Checkbox proporciona tres constructores. El primero no utiliza ningún parámetro
e implementa un cuadro de verificación vacio. El
segundo constructor emplea un parámetro String que se usa como titulo del cuadro
de verificación. El tercero permite especificar un objeto CheckboxGroup y el
estado inicial del botón radial, además de su etiqueta.
La clase CheckboxGroup
La clase
CheckboxGroup se utiliza con la clase Checkbox a fin de implementar botones
radiales. Todos los objetos Checkbox asociados a un objeto CheckboxGroup son
tratados como un conjunto individual de botones radiales. Proporciona un único
constructor sin parámetros, además de métodos para obtener y definir el objeto
Checkbox.
La clase
Choice
Se utiliza
para implementar listas desplegables que pueden situarse en una ventana. Dichas
listas se conocen con el nombre de menús
de opciones o menús emergentes de opciones, que permiten al usuario
seleccionar uno de los valores que incluyen. La clase Choice
incorpora un único constructor sin parámetros. Asimismo, proporciona métodos de
acceso que se emplean para agregar elementos a la lista, contar el número de
elementos que contiene ésta, seleccionar un elemento y determinar qué elemento
de la lista está seleccionado.
La clase
List
La clase List implementa controles de la GUI de listas de selección
individual y múltiple. Las listas que incorpora la clase List
están más perfeccionadas que las proporcionadas por la clase Choice: la clase List ofrece la posibilidad
de determinar el tamaño de la ventana desplazable en la que se presentan los
elementos de la lista y seleccionar múltiples elementos de ésta. List posee dos constructores. El primero no utiliza
parámetros y construye un objeto genérico List. El
segundo permite especificar el número de filas de la ventana visible y si se
permite o no efectuar múltiples selecciones.
Proporciona
diversos métodos de acceso que se emplean para agregar, borrar y remplazar
elementos de la lista, contar el número de elementos que contiene, determinar
qué elementos están seleccionados y seleccionar elementos de la lista.
La clase
TextComponent
TextComponent es la clase superior de todas las clases basadas en texto. Proporciona
un conjunto de métodos que emplea sus subclases TextField y TextArea. No
proporciona ningún constructor y no es posible crear instancias de la misma.
Facilita métodos para obtener y definir el texto que se muestra en el objeto,
establece el estado de edición o de solo lectura, o selecciona el texto que
contiene el objeto.
La clase
TextField
Implementa
un campo de entrada de texto de una sola línea. Proporciona cuatro
constructores que se emplean para especificar el ancho del cuadro de texto o el
texto predeterminado que debe aparecer en el campo. Incorpora diversos métodos
para acceder al tamaño del campo y para especificar si los caracteres
introducidos por el usuario deben o no presentarse. El método setEchoCharacter()
se utiliza para especificar un carácter que debe presentarse en lugar del texto
introducido por el usuario. Este método se utiliza para implementar campos de
contraseña.
La clase
TextArea
Implementa
objetos de entrada de texto desplazables que ocupan múltiples líneas y
columnas. Proporciona cuatro constructores que permiten especificar el número
de filas y columnas y el texto que debe aparecer por defecto. Asimismo, posee diveros métodos que retornan las dimensiones del área de
texto e insertan, anexan y remplazan el texto contenido en el área de texto.
La clase
Scrollbar
Se utiliza
para implementar barras de desplazamiento horizontal y vertical. Ofrece tres
constructores que permiten especificar la orientación de la barra, así como los
parámetros que controlan su funcionamiento. Incorpora diversos métodos que
permitan leer y definir los parámetros y el valor actual de la barra de
desplazamiento.
3. Organización de Ventanas (Layouts)
El método
según el cual se organizan los componentes dentro de un objeto Container depende de un objeto asociado que implemente
la interfaz LayoutManager. El formato para un objeto
container se especifica usando el método setLayout() de la clase
container, que asocia al contenedor un objeto que implemente la interfaz LayoutManager como parámetro.
La interfaz
LayoutManager
LayoutManager proporciona un conjunto de métodos que implementan clases que controlan
el formato de un contenedor. Estos métodos incluyen los métodos que agregan o
suprimen los componentes de formato, especifican el tamaño del contenedor y
determinan sus componentes.
La clase
BorderLayout
La clase
BorderLayout se emplea para definir los componentes de la GUI que contienen un
objeto container. Especifica la posición de los componentes según los bordes
norte, sur , este y oeste del contenedor, y también
según el centro de éste. La sección central aprovecha cualquier espacio no
utilizado por los componentes de los bordes. Es el formato predeterminado de
las clases Window, Frame y Dialog. Asimismo, ofrece la posibilidad de especificar el
espacio horizontal y vertical entre los componentes situados en el contenedor.
La clase
CardLayout
Se utiliza
para situar los componentes dentro de un objeto container en la forma de una
baraja de cartas en la que solamente es visible una de ellas. Esta clase
proporciona los métodos que se emplean para especificar los
componentes inicial, ultimo, siguiente y anterior.
La clase
FlowLayout
La clase
FlowLayout se usa para situar los componentes dentro de un objeto container en
una disposición de izquierda a derecha y de arriba hacia abajo. Es el formato
predeterminado de la clase Panel. Permita alinear los componentes de acuerdo a
los valores especificados por las constantes. LEFT, CENTER y RIGHT.
La clase
GridLayout
Se utiliza
para disponer los objetos dentro de un objeto container en forma de cuadricula
donde todos los objetos tiene el mismo tamaño. En su constructor se especifica
el numero de filas y el numero de columnas de la cuadricula.
La clase
GridBagLayout
Dispone los
componentes dentro de un objeto container de la forma similar a una cuadricula,
donde algunos objetos pueden ocupar mas de una fila o columna. La clase
GridBagConstraints se emplea para especificar los parámetros para la ubicación
de un componente situado dentro de un contenedor con formato objeto GridBagLayout.
La clase Insets se utiliza para especificar los márgenes asociados a un objeto
dispuesto por el formato GridBagLayout.
4. Gestión de eventos
El usuario se comunica con programas basados
en ventanas con acciones como la pulsación de un botón del ratón o de una
tecla. Estas acciones dan como resultado la generación de objetos Event. El proceso de respuesta ante un evento se conoce
como gestión de eventos. Se dice que los programas basados en ventanas son
dependientes de eventos porque funcionan realizando acciones como respuesta a
determinados eventos.
La clase Event encapsula todo el procesamiento de eventos de Windows
y es, por tanto, una clase muy importante. Como la interfaz de usuario de
Windows es dependiente de Eventos, todos los programas basados en ventanas
deben ser capaces de manejar eventos.
La clase Event define una lista completa de eventos gestionables por
programas basados en ventanas que utilizan constantes de clases. Dichas
constantes se emplean para identificar los eventos que se transfieren a los
métodos de gestión de eventos.
Event
proporciona cuatro constructores para construir eventos, aunque lo mas probable es que no se utilicen dado que el sistema en
tiempo de ejecución de java los genera internamente como respuesta a las
acciones de la interfaz de usuario. Asimismo, la clase Event
proporciona métodos para averiguar si se pulsan las teclas <Ctr><Shif><Alt> durante la generación de un evento.