Home UC3M
Home IT
Home /Docencia /Ing. Técnico de Telecomunicación Esp. Telemática /Laboratorio de Aplicaciones Telemáticas /Práctica 7
anterior siguiente

Práctica 7: AWT (Abstract Windows Toolkit)

Fecha: 12 de Diciembre de 2003
Conceptos: GUI, AWT, Eventos
Profesor: Celeste Campo

 EJERCICIO 1: Nuestra primera ventana

En este primer ejercicio vamos a crear un sencilla interfaz gráfica compuesta por un Contenedor (java.awt.Frame) al que le vamos a añadir una serie de Componentes básicos en una interfaz de usuario. Las clases que vamos a utilizar en este primer ejercicio son:

  • java.awt.Frame
  • java.awt.Button
  • java.awt.Label
  • java.awt.TextField
  • java.awt.GridLayout

Apartado 1: Ventana Básica

Utilizaremos como clase base para realizar las prácticas la clase Ventana, que se puede descargar pinchando en Ventana.java. Esta clase lo único que hace es mostrar una ventana que responde al evento de cerrar ventana.

Compilad y ejecutad la aplicación. Consultad en el API las diferentes clases del paquete java.awt que se han utilizado. En el apartado referencias teneis un enlace al API de J2SE.

Apartado 2: Añadiendo componentes a una ventana

En este apartado vamos a añadir una serie de componentes a la ventana anterior, para distribuirlos en la ventana vamos a emplear la plantilla java.awt.GridLayout que nos permite organizarlos en forma de una matriz. El layout debe establecerse antes de añadir elementos a un contenedor, mediante el método void setLayout(LayoutManager mgr) de la clase java.awt.Container.

Para añadir componentes a un contenedor teneis que emplear el método add(Component comp) de la clase java.awt.Container. En este ejercicio debeis añadir los siguientes componentes:

  • Un etiqueta que indique que en el campo de texto siguiente el usuario debe introducir el nombre de un fichero.
  • Un campo de texto java.awt.TextField que nos permitirá introducir el nombre de un fichero.
  • Un botón java.awt.Button que nos permita capturar el fichero introducido en el campo de texto anterior.

El resultado debe ser igual a la imagen mostrada en pantalla (para ponerle un título a la ventana utilizad el método setTitle(String title) de la clase java.awt.Frame):

Apartado 3: Añadiendo un menú a un ventana

En este apartado crearemos una barra de menús para añadir a la ventana anterior, para ello debeis utilizar las siguientes clases:

  • java.awt.Menu
  • java.awt.MenuItem
  • java.awt.MenuBar

El menú se denominará "Menu" y tendrá una única opción que será "Salir".

Para añadir la barra de menús a nuestra ventana, debe utilizarse el método void setMenuBar(MenuBar mb) de la clase java.awt.Frame.

El resultado debe ser igual a la imagen mostrada en pantalla.



 EJERCICIO 2: Gestionando eventos

En el ejercicio 1 de esta clase práctica hemos realizado una interfaz gráfica que permite pedirle al usuario cierta información, pero por ahora no la capturamos ni la procesamos, para ello es necesario tratar con eventos. En este ejercicio utilizaremos las siguientes clases e interfaces:

  • java.awt.event.ActionEvent
  • java.awt.event.ActionListener

Apartado 1: Evento de pulsar el botón

En este apartado cuando el usuario pulse el botón "Ver", se debe coger el nombre del fichero que ha introducido el usuario en el TextField y escribirlo por la salida estándar. El evento que se produce cuando se pulsa un botón es del tipo ActionEvent. Para capturar este evento es necesario realizar los siguientes pasos:

  • Definir el objeto listener que manejará este evento:

    En este caso será la propia clase que estamos desarrollando, para ello debe implementar el interfaz correspondiente java.awt.event.ActionListener y se debe implementar el método void actionPerformed(ActionEvent e) donde codificaremos las acciones que se deben realizar cuando el evento se produzca.

  • Asignarle el objeto listener al componente que va a generar ese evento:

    En este caso se lo añadiremos al componente de tipo Button, para ello se emplea el método void addActionListener(ActionListener l) de la clase java.awt.Button.

Apartado 2: Evento de menú

En este apartado cuando el usuario seleccione "Salir" del menu "Menu", se debe cerrar la ventana y finalizar la aplicación.

Para capturar este evento se puede emplear el mismo listener que en el caso anterior. Por lo tanto en el código del método actionPerformed(ActionEvent e) debemos diferenciar qué componente ha producido el evento y actuar en consecuencia. Para ello se puede emplear el método String getActionCommand() de la clase java.awt.event.ActionEvent.



 EJERCICIO 3: Usando clases gráficas

En este apartado vamos a ver algunas de las clases gráficas que nos proporciona AWT:

  • java.awt.Canvas
  • java.awt.Toolkit
  • java.awt.Image

Apartado 1: La clase Canvas

La clase Canvas permite crear un componente sobre el que podemos dibujar o mostrar una imagen. En el enlace VerImagen.java podeis descargaros una clase que nos permite mostrar una imágen en una ventana. Podeis obtener la imagen en duke.gif

Compilad y ejecutad la aplicación. Consultad en el API las diferentes clases del paqueta java.awt que se han utilizado. En el apartado referencias teneis un enlace al API de J2SE.

Apartado 2: Interfaz para visualizar imágenes

A partir de la clases desarrolladas en apartados anteriores debeis realizar un interfaz gráfico que le permita al usuario introducir el nombre de un fichero que contiene una imagen (GIF o JPEG) y que al pulsar el botón "Ver" ésta se visualice en un área de la ventana dedicada a ello.

El resultado final debe ser similar al mostrado en la pantalla siguiente.



 REFERENCIAS

Básicos:

Libros (on-line):



Última actualización:

Localización |Personal |Docencia |Investigación |Novedades |Intranet
inicio | mapa del web | contacta