| Artículos | 01 OCT 1998

Biblioteca AWT: Clases Graphics y Label

Tags: Histórico
Curso de Java para Internet (5)
Jaime Peña.

Ya hemos comentado anteriormente que AWT significa Abstract Windowing Toolkit, equipo de ventanas abstractas, según unos y Another Window Toolkit, otro equipo de ventanas, según otros; realmente nunca se ha revelado el verdadero significado de AWT . Mediante esta biblioteca, tendremos acceso a todas las funciones de diseño de aplicaciones gráficas ?en ventanas gráficas?, que son la esencia de casi toda la programación Java para usuarios finales .

Las versiones del JDK 1 . 1 . x, JDK 1 . 2 . x y superiores son capaces de trabajar con código del JDK 1 . 0 . x, pero ya se atienen a diversos cambios en áreas de la programación Java, como la respuesta a eventos o la biblioteca gráfica AWT ( algo que trataremos detenidamente en éste y posteriores artículos ) . Si se usa el JDK 1 . 1 . x con el modo de programación del JDK 1 . 0 . x, lo compilado será compatible con los navegadores de Netscape y Microsoft . Por contra, si se compilan con las funcionalidades propias del JDK 1 . 1 . x, deberá usar Netscape Navigator 4 . x, MS Internet Explorer 4 . x, Sun HotJava 1 . 0 o el Sun AppletViewer 1 . 1 o superiores . Hay un parche para algunas versiones de Netscape 4 . x, que evita ciertos problemas con clases de AWT, developer . netscape . com/software/index . html . La instalación ocupa unos 15 MB, sin contar la documentación y ejemplos adicionales .

Los cambios más importantes del JDK 1 . 1 . x, respecto al JDK 1 . 0 . x, se refieren a la biblioteca de clases AWT y al modo de codificar la respuesta a eventos . La relación de los métodos que han sido declarados obsoletos ( Deprecated Methods ) , junto con sus alternativa sintácticas, se pueden encontrar en el foro de Internet de Java de Sun Microsystems, java . sun . com/jdk/ 1 . 1/docs/relnotes .

Ya en el primer artículo de este curso, comentábamos que todo el código escrito con el JDK 1 . 0 . 2 debería poder ser ejecutado sin problemas en un sistema que se atenga al JDK 1 . 1 . x o superior; el que los métodos empleados sean obsoletos no debe implicar que causen errores, según expone claramente Sun, si ello ocurre, debe considerarse un error ( bug ) del programa ejecutor . También sugeríamos que si desea que sus desarrollos Java sean para Internet, el JDK 1 . 0 . x es la solución más segura ?serán compatibles en mayor amplitud? . Si desarrolla para una intranet o quiere ya avanzar en el futuro inmediato de Java, el JDK 1 . 1 . x es lo adecuado . Por razones de dimensión ?la biblioteca AWT del nuevo JDK 1 . 2, tiene más de 60 clases y casi 1 . 600 miembros? sólo abordaremos aquellas clases y funciones más habituales; extender sus conocimientos de la biblioteca AWT será una labor de interés puntual y para ello debería consultar asiduamente la documentación del JDK .

Antes de proseguir, nos remitimos al segundo artículo de este curso ?véase PC World nº 144, de junio de 1998? . Allí exponíamos en el Listado 3 un ejemplo elemental de aplicación gráfica AWT independiente, en el Listado 5 uno de un applet mínimo y en el Listado 6, el código de un documento HTML para visualizar el applet, bien cargándolo en un navegador de Internet, bien usando la herramientas AppletViewer de Sun Microsystems .

¿ Qué contiene la biblioteca AWT ?

Prácticamente todos los elementos visuales ?controles estándar, contenedores y textos gráficos? de la biblioteca AWT derivan de la clase Component, a excepción de los menús ?componente Menú? . En lo referente a los controles de ventana, podrá disponer de:

Label: etiqueta o texto gráfico, del que hablaremos más adelante en este artículo .

TextField: entrada de campo de texto; se trata de un área de edición para la escritura de entradas de usuario . Por ejemplo, la petición de un nombre o la escritura de una contraseña .

TextArea: entrada de textos largos; permite la escritura de textos de mayor amplitud que TextField . Se asemeja a un control de edición de textos no formateados .

Button: botón de comando, contiene una etiqueta y emite un mensaje cuando se hace clic sobre él .

CheckBox: casilla de verificación, puede encontrarse en dos estado: seleccionado o deseleccionado . Muy habitualmente están en grupos, que permiten selecciones no excluyentes, por ejemplo, escoger un tipo de letra negrilla, itálica y subrayada .

CheckboxGroup: asociación de CheckBox, ahora estos actúan como botones radiales, de forma que la selección de uno, implica la deselección de los restantes ?selecciones excluyentes? . Imagine, por ejemplo, el escoger un color para el texto, será o bien negro, o bien rojo, o bien azul, etc .

List: lista desplegable, en la que se pueden realizar selecciones simples o múltiples . Se mostrará inicialmente un número dado de filas, a elección del programador .

Choice: es la base para crear un menú emergente con opciones excluyentes ?choices? . Su apariencia es similar a una lista desplegable de las cajas de diálogo de Windows, más que un menú emergente que aparece al pulsar el botón derecho del ratón .

Canvas: se trata de un componente que crea un área rectangular en blanco, en la que se pueden realizar operaciones de dibujo, posicionar otros componentes y demás . Un Canvas tiene su propio tratamiento de mensajes y debe redefinir el método paint para obtener una funcionalidad adecuada .

Menu: para la creación de barras de menús, al estilo habitual de las ventanas de aplicaciones, se utiliza de base una MenuBar, en la que se incluyen menús, a las que se les adicionan opciones . Esta clase es el soporte para las entradas de menú, por ejemplo la habitual Archivo o Ayuda .

Container: un contenedor de otros elementos . Pueden ser de las clases Dialog, FileDialog y Frame .

Scrollbar: la barras de desplazamiento se emplean en Java, fundamentalmente, para dos finalidades: crear controles de barras deslizantes ?sliders? y barras de desplazamiento para mover el área visible de paneles y ventanas en general . En la biblioteca JFC ?Java Foundation Classes, también conocida como SWING?, hay componentes más específicos para crear controles deslizantes ?slider? .

En próximos artículos, nos ocuparemos de ir desgranando la programación de todos estos componentes . Es importante tener presente ?como advertimos al comienzo del artículo? que muchos de los métodos de la biblioteca AWT han cambiado desde el JDK 1 . 0 . x . Así, en el JDK 1 . 1 . x y superiores, el sistema de gestión de eventos ( Event Model ) es totalmente diferente y también lo son métodos de posicionamiento, redimensionado, etc . ; a esos métodos que han variado se les denominan Deprecated Method y el compilador Javac chirriará al utilizarlos, dándonos mensajes de aviso . Observe, sin embargo, que esos Deprecated Method siguen siendo soportados por el JDK 1 . 1 . x y superiores, pero nosotros trataremos de utilizar los nuevos ?alternativos?, que se recogen en la Tabla 6, tomados directamente de la documentación de Sun Microsystems .

Recordamos, nuevamente, que toda la documentación de los JDK puede encontrarla en el CD-ROM que acompañó a PC World nº 143 de mayo de 1998, en el que comenzamos este curso .

Método paint y clase Graphics

El método paint es el utilizado para codificar todas las acciones de dibujo en ventanas AWT, usando funciones de la biblioteca Graphics ?véase más abajo? . Su declaración es muy simple, como puede apreciar en los listados adjuntos; sólo reseñar que toma como parámetro un objeto del tipo Graphics, aunque no se llama nunca directamente y, por tanto, este parámetro es sin más una referencia para nosotros, por si deseamos acceder directamente al área de memoria en que se están realizando las operaciones de dibujo y, en su caso, obtener una copia o pasar instrucciones de dibujo al método paint . Más adelante, hablaremos de

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información