## Decidir los Parámetros a Soportar

Esta página te guia a través de las cuatro preguntas que deberías responder cuando implementes parámetros:

- ¿Qué debería permitirsele configurar al usuario de un applet?
- ¿Cómo deberían llamarse los parámetros?
- ¿Qué clases de valores deberían contener los parámetros?
- ¿Cúal debería ser el valor por defecto de cada parámetro?

Termina con una explicación sobre la definición de parámetros con una clase de ejemplo llamada AppletButton.

### ¿Qué debería permitirsele configurar al usuario de un applet?

> Los parámetros que un applet deberían soportar dependen de lo que haga su applet, y de la flexibilidad que quieras que tenga. Los applets que muestran imágenes podrían tener parámetros para especificar la posición de las imágenes. De forma similar, los applets que ejecutan sonidos podrían tener parámetros para especificar los sonidos.

> Junto con los parámetros que especifican localizaciones de recursos (como imágenes o ficheros de sonido), algunas veces los applets proporcionan parámetros para especificar detalles de la apariencia u operación del applet. Por ejemplo, un applet de animación podría permitir que el usuario especificara el número de imágenes por segundo. O un applet podría permitir que el usuario cambie los textos mostrados por el applet. Todo es posible.

### ¿Cómo deberían llamarse los parámetros?

> Una vez que has decidio los parámetros soportados por el applet, necesita diseñar sus nombres. Aquí tienes algunos nombres típicos de parámetros:
> SOURCE o SRC
>   Para un fichero de datos como un fichero de imágenes.

> XXXSOURCE (por ejemplo, IMAGESOURCE)
>   Utilizado en los applets que permiten al usuario utilizar más de un tipo de ficheros de datos.

> XXXS
>   Para un parámetro tomado de una lista de XXXs (donde XXX podría ser IMAGE, de nuevo).

> NAME
>   Utilizado solo para un nombre de applet. Los nombres de applets se utilizan para la comunicación con otros applets, como se describe en Enviar Mensajes a Otros Applets en la Misma Página.

> Que el nombre sea claro y conciso es más importante que su longitud.

> Nota: Aunque este tutorial normalmente se refiere a los nombres de parámetros utilizando MAYÚSCULAS, éstos no son sensibles al caso. Por ejemplo, IMAGESOURCE e imageSource se refieren al mismo parámetro.
> Por otro lado, los valores de los parámetros si son sensibles al caso, a menos que se los interprete de otra forma (como utilizando el método toLowerCase() de la clase String antes de interpretar el valor del parámetro).

### ¿Qué clases de valores deberían contener los parámetros?

> Todos los valores de parámetros son cadenas. Tanto si el usuario pone comillas o no alderedor del valor del parámetro, el valor es pasado al applet como una cadena. Sin embargo, un applet puede interpretar las cadenas de muchas formas.

> Los applets interpretan normalmente un valor de un parámetro como uno de los siguientes tipos:

> - Una dirección URL
> - Un entero
> - Un número en coma flotante
> - Un valor booleando -- tipicamente "true"/"false"
> - Una cadena -- por ejemplo, la cadena utilizada para el título de una ventana.
> - Una lista de cualquiera de los tipos anteriores

### ¿Cúal debería ser el valor por defecto de cada parámetro?

> Los applets deberían intentar proporcionar valores útiles por defecto para cada parámetro, para que el applet se ejecute incluso si el usuario no ha especificado ningún parámetro o los ha especificado incorrectamente. Por ejemplo, un applet de animación debería proporcionar un número adecuado de imágenes por segundo. De esta forma, si el usuario no especifica un parámetro relevante, el applet trabajará de forma correcta.

### Un Ejemplo: AppletButton

> A través de este tutorial, los applets que necesitan mostrar ventanas utilizan la clase AppletButton que es altamente configurable. El GUI de AppletButton es sencillo, consiste en un botón y una etiqueta que muestra el estado. Cuando el usuario pulsa sobre el botón, el applet muestra una ventana.

> La clase AppletButton es tan flexible porque define parámetros para permitir que usuario especifique cualquiera de los siguientes:

> - El tipo de la ventana a mostrar.
> - El Título de la ventana.
> - La altura de la ventana.
> - La anchura de ventana.
> - La etiqueta del botón que muestra la ventana.

> Una etiqueta <APPLET> típica para AppletButton se parecería a esto:

>     <APPLET CODE=AppletButton.class CODEBASE=clases WIDTH=350 HEIGHT=60>
>     <PARAM NAME=windowClass VALUE=BorderWindow>
>     <PARAM NAME=windowTitle VALUE="BorderLayout">
>     <PARAM NAME=buttonText VALUE="Pulse aquí para ver BorderLayout en acción">
>     </APPLET>

Cuando el usuario no especifica un valor para un parámetro, AppletButton utilizan un valor por defecto razonable. Por ejemplo, si el usuario no especifica el título de la ventana, AppletButton utiliza el tipo de la ventana como título.

La página siguiente muestra el código que utiliza AppletButton para obtener los valores de sus parámetros.

Ozito