Download programación en java - ISA-UMH © Ingeniería de Sistemas y

Document related concepts
no text concepts found
Transcript
Escuela Politécnica Superior de Elche
Ingeniería Industrial
SISTEMAS INFORMÁTICOS INDUSTRIALES
curso 2006-2007
PROGRAMACIÓN EN JAVA
PRÁCTICA 4: Diseño
utilizando AWT.
de
una
interface
en
Java
Objetivos
•
•
•
Implementar una aplicación para Windows en Java utilizando la biblioteca de clases
AWT (Abstract Windows Toolkit).
Conocer el modelo de eventos de Java usado en las aplicaciones para Windows.
Utilizar algunos componentes básicos y comprender el concepto de Layout
Manager.
Descripción
Se debe crear una aplicación en Java que tenga la siguiente apariencia:
La aplicación se compone de una única ventana en la que se muestran los siguientes
componentes:
-
Una barra de desplazamiento horizontal (Scrollbar)
o El valor de la barra variará desde 0 hasta 255
o Inicialmente su valor será 0
-
Una lista desplegable (Choice)
o Contendrá 3 ítems: “Primera eleccion”, “Segunda eleccion” y “Tercera
eleccion”
o Inicialmente aparecerá seleccionado el ítem “Tercera eleccion”
Página 1 de 4
Escuela Politécnica Superior de Elche
Ingeniería Industrial
-
Una caja de texto editable (TextField)
o Inicialmente contendrá el texto “Texto inicial”
-
Un botón (Button)
o Su etiqueta será “Pulsame”
-
Una caja de texto no editable (TextField)
o Inicialmente contendrá el texto “Ningun evento”
El funcionamiento de la aplicación será el que se describe seguidamente:
-
Si se modifica el valor de la barra de desplazamiento, dicho valor debe mostrarse en
la caja de texto no editable.
Cuando el usuario seleccione un ítem de la lista desplegable, éste debe aparecer en
la caja de texto no editable.
Si el usuario pulsa Intro en la caja de texto editable, el texto que contenga debe
mostrarse en la caja de texto no editable
Por último, cada vez que sea pulsado el botón, debe aparecer en la caja de texto no
editable la etiqueta de dicho botón
Detalles de implementación
Debe implementarse una clase denominada InterfazUsuario en cuyo constructor se
cree la ventana mostrada anteriormente. Para ello se recomienda seguir los siguientes
pasos:
1) Crear los objetos correspondientes a los componentes que se muestran en la ventana.
Por ejemplo, para crear la lista desplegable se utilizaría el siguiente código:
Choice miChoice = new
miChoice.add("Primera
miChoice.add("Segunda
miChoice.add("Tercera
Choice();
eleccion");
eleccion");
eleccion");
2) Crear la ventana en la que se incluirán los componentes. Utilizar el Layout Manager
BorderLayout para distribuir los componentes en la ventana. Estos dos pasos se
realizarían como se muestra a continuación:
Frame miFrame = new Frame("Ventana en Java");
miFrame.setLayout(new BorderLayout(5,15));
Página 2 de 4
Escuela Politécnica Superior de Elche
Ingeniería Industrial
3) Añadir los componentes a la ventana en las posiciones correctas. Por ejemplo, para
añadir la lista desplegable a la ventana:
miFrame.add(miChoice,"West");
4) Dar un tamaño a la ventana (utilizando setSize()) y mostrarla (mediante
setVisible()).
5) Registrar los receptores de los eventos que se puedan producir. Es decir, hay que
indicar los objetos que se harán cargo de los eventos que se produzcan sobre los
componentes de la interface. Los eventos que es necesario gestionar son los
siguientes:
- ItemEvent: Se produce al seleccionar un ítem de la lista desplegable.
- ActionEvent: Ocurre tanto al pinchar sobre el botón, como al pulsar Intro
en la caja de texto.
- AdjustmentEvent: Se produce al cambiar el valor de la barra de progreso.
- WindowEvent: Sólo será necesario controlar cuando se cierre la ventana, ya
que en tal caso hay que finalizar la aplicación.
Por ejemplo para registrar el objeto que se hará cargo del evento ItemEvent:
miChoice.addItemListener(new MiItemListener(miChoice,textoEventos));
donde MiItemListener será la clase que implementará la interface ItemListener y
se hará cargo del evento ItemEvent; textoEventos representa la caja de texto no
editable.
Una vez implementada la clase InterfazUsuario, deben crearse las clases encargadas de
gestionar los eventos. Por ejemplo, el código de la clase MiItemListener, encargada de
recibir los eventos que se produzcan al actuar sobre la lista desplegable, sería el
siguiente:
class MiItemListener implements ItemListener
{
Choice eleccion;
TextField textoEvento;
MiItemListener(Choice choice, TextField texto)
{
eleccion = choice;
textoEvento = texto;
}
public void itemStateChanged(ItemEvent evt)
{
textoEvento.setText(eleccion.getSelectedItem());
}
}
Página 3 de 4
Escuela Politécnica Superior de Elche
Ingeniería Industrial
El constructor de la clase recibe como parámetros la lista desplegable y la caja de texto
no editable en la que se mostrará el ítem seleccionado.
Por último será necesario implementar una clase que contendrá el main() en el que se
creará la interface. Por ejemplo:
public class Practica4
{
public static void main(String arg[])
{
InterfazUsuario ventana = new InterfazUsuario();
}
}
Página 4 de 4