Ejercicio 2

prev.gif (997 bytes)chapter.gif (1105 bytes)home.gif (1232 bytes)next.gif (998 bytes)

Sucesos (events)

Propósito

Diseño

Respuesta a las acciones del usuario

Mejora del programa

El código fuente


 

Própósito

En este ejercicio vamos a combinar un control de edición y una barra de desplazamiento.

La posición del dedo en la barra de desplazamiento, nos proporciona un conjunto de valores entre un mínimo y un máximo, que por defecto son los números enteros comprendidos entre 0 y 100 (estos valores se pueden cambiar en la hoja de propiedades de la barra de desplazamiento, en los editores asiciados a las propiedades minimun y maximun).

Mejora del programa

El programa se puede mejorar si en vez de números enteros podemos introducir números reales (double) entre un mínimo y un máximo, por ejemplo entre 0.0 y 1.0. Para ello, tenemos que definir dos funciones que nos realicen la tarea de cambio de escala.

Por ejemplo, el valor 0.4 que introducimos en el control de edición equivale a la posición 40 del dedo en la barra de desplazamiento. La posición 90 del dedo en la barra de desplazamiento equivale al valor 0.9 en el control de edición.

 

Diseño

Crear el applet. En modo diseño (pestaña Design) situar en la parte izquierda un control de edición y en la parte derecha una barra de desplazamiento en posición horizontal.

Cambiar las propiedades de los dos controles en sus correspondientes hojas de propiedades.

Establecer BorderLayout como gestor de diseño del applet, de modo que el control de edición quede al oeste (WEST) y la barra de desplazamiento al centro (CENTER).

 

Respuesta a las acciones del usuario

1.-Definir la función respuesta a las acciones del usuario sobre un control barra de desplazamiento.

La tarea de la función respuesta es que la posición del dedo en la barra de desplazamiento se muestra en el control de edición.

2.-Filtrar los caracteres que se pueden introducir en el control de edición.

Solamente se permiten los caracteres numéricos, el carácter separador punto de la parte entera y decimal, las teclas de edición Retroceso y Suprimir.  Los caracteres correspondientes a estas dos teclas son los siguientes:

Los caracteres se filtran en respuesta a la acción de pulsar una tecla, se define KeyPressed del interface KeyListener.

3.-Definir la función respuesta a la acción de pulsar la tecla Retorno o Enter en el control de edición.

Como hemos podido leer en la tabla 1 del resumen de este importante capítulo, cuando se pulsa Retorno en un control de edición se genera un suceso del tipo ActionEvent, igual que al pulsar en un botón.

Las tareas de la función respuesta son las siguientes:

 

Mejora del programa

Definir dos miembros dato denominados minimo y maximo del tipo double. Guardar en ellos los valores mínimo y máximo, por ejemplo 0.0 y 1.0.

Definir una función que transforme la posición del dedo (un número entero comprendido entre 0 y 100) en un número real comprendido entre minimo y maximo.

Definir una función que transforme el dato introducido en el control de edición (un número real comprendido entre minimo y maximo) en la posición del dedo (un número entero comprendido entre 0 y 100).

 

El código fuente

disco.gif (1035 bytes)ejercicio2: EjercicioApplet2.java