>> Ejercicios de la lección 12 |
Ejercicio 12.1.
12.1.1. Escriba dos applets. El primero tendrá una lista con nombres de imágenes y el segundo tendrá un método public void setImage(String name) que deberá leer y mandar a exhibir la imagen con nombre name. El primero buscará un applet en su AppletContext con nombre exhibidor y cada vez que haya una acción de selección de un elemento de la lista, llamará al método setImage del applet exhibidor. De esta manera el primer applet decidirá la imagen que el segundo exhibe.
12.1.2. Haga que los nombres de las imágenes que aparecen en la lista del primer applet llegen por medio de los parámetros de la página.
12.1.3. Escriba una página Web en la que aparezcan los dos applets, el segundo con el nombre exhibidor y haga funcionar a la pareja de applets.
12.1.4. Agregue lo necesario a ambos applets para que desde el primero se pueda decidir también si la imagen se exhibe centrada sin cambiar su tamaño o bien se ajuste al tamaño del applet.
Ejercicio 12.2.
12.2.1. Escriba un applet que mediante un parámetro reciba el nombre de una imagen y mediante dos series de parámetros como los que se usaron en los ejemplos imagenes y sonidos de esta lección, reciba especificaciones de rectángulos y nombres de sonidos (archivos de tipo .au). Haga que las abscisas de los rectángulos se reciban mediante los parámetros X01, X02, etc..., las ordenadas mediante Y01, Y02, etc..., las anchuras de los rectángulos mediante W01,W02, etc... y las alturas mediante H01, H02, etc... El applet deberá responder al evento mouseDown leyendo y tocando el SONIDO01 si las coordenadas del ratón están dentro del rectángulo X01,Y01,W01,H01; tocará SONIDO02 si las coordenadas del ratón están dentro del rectángulo X02,Y02,W02,H02; etc... De esta manera el applet se convertirá en un mapa sensible que emitirá sonidos diferentes al pulsar regiones diferentes.
12.2.2. Consiga una imagen por ejemplo de un zoológico o de cualquier escena en la que haya figuras de algún tipo y asocie sonidos a esas figuras creando archivos .au (grábelos Ud mismo si tiene con qué hacerlo) y cree una página Web con el applet, la imagen y los sonidos haciendo que todo funcione correctamente. Si su computadora no tiene sonido, sustituya la emisión de sonidos por la exhibición de un cuadro de diálogo con el nombre de la figura correspondiente al rectángulo.
Ejercicio 12.3.
12.3.1. Aprovechando la experiencia del ejercicio anterior, cree una clase abstracta llamada mapa que sea subclase de Applet y que controle la recepción de rectángulos y cadenas via parámetros pero que no suponga nada sobre la naturaleza de las cadenas. Haga que la acción asociada a un click sobre uno de los rectángulos sea un método abstracto al que se le pasa la cadena asociada al rectángulo como parámetro. El método abstracto podría llamarse por ejemplo
abstract public acción(String s).
12.3.2. Reproduzca el applet del ejercicio 12.2. pero ahora como subclase de la clase abstracta mapa.
12.3.3. Cree otra aplicación concreta de la clase mapa. ¡Use su imaginación!
Ejercicio 12.4
En los applets desarrollados en los ejercicios 12.2. y 12.3. escriba los métodos
String getAppletInfo() y String[][] getParamenterInfo()
poniendo en ellos la documentación correspondiente que facilite a otras personas su uso.
José Luis Abreu y Marta Oliveró