DISEÑO DE APLICACIONES


Consejos y solución de problemas relacionados con los applets de Java
Cuando se ejecuta el applet, la barra de estado muestra mensajes como, por ejemplo, "Loaded <nombre-del-applet>", "Initialized <nombre-del-applet>" y "Started <nombre-del-applet>". Si el applet no se carga apropiadamente, se verá en su lugar un rectángulo gris de puntos. Revise la sección anterior y seleccione Archivo - Herramientas - Mostrar consola de Java para examinar el applet y determinar la causa del problema.

Si el applet no se ejecuta:


Acceso a los archivos de recursos

Los applets de Java(TM) frecuentemente utilizan archivos de recursos, como, por ejemplo, archivos de imagen y sonido. Los applets acceden a estos archivos de tres maneras diferentes:


Dependiendo del método utilizado, es posible que Domino no pueda localizar los archivos de recursos del applet. El método getCodeBase es el más fiable para especificar este tipo de archivos. Si sus applets no pueden encontrar los archivos de recursos, modifíquelos para que utilicen getCodeBase. A continuación, vuelva a compilar los archivos y seleccione Applet de Java - Actualizar para reemplazar dichos archivos en el documento.

Especificación de una URL completa

Si el applet especifica una URL completa para localizar un archivo de recursos, por ejemplo, getImage("http://www.micasa.com/imágenes", "imagen.gif"), el applet intentará encontrar el archivo en dicha URL. Este método generalmente da resultado cuando se ejecutan applets con el cliente IBM® Lotus® Notes® en un documento suministrado por un servidor Domino, siempre que se configure correctamente el cliente Notes para acceder a los archivos existentes en Internet.

De forma similar, es posible acceder a imágenes anexadas a documentos de Notes incluyendo un calificador "$FILE" en la URL de Domino; por ejemplo, getImage("http://www.micasa.com/bdatos.nsf/Vistaprincipal/862..12E/$FILE", "imagen.gif"). Al igual que en el ejemplo anterior, el cliente Notes debe ser capaz de acceder al servidor Domino; de lo contrario, el applet que dicho cliente esté ejecutando no podrá acceder al archivo.

Una de las desventajas de especificar una URL completa para un archivo de recursos de un applet es la lentitud de acceso a este archivo a través de Internet y que no todos los clientes Notes están configurados para acceder directamente a Internet. Además, se da por supuesto que la ubicación de dicho archivo no va a cambiar. Si estos aspectos no constituyen un problema, la especificación de una URL completa es un método fiable para acceder a los archivos de recursos.

Uso de getDocumentBase

El método getDocumentBase es el menos fiable para especificar archivos de recursos. Este método devuelve la URL de base del documento en el que está ubicado el applet, es decir, la URL completa menos el nombre de archivo del documento. Por ejemplo, si un applet se está ejecutando en un documento ubicado en:

http://www.micasa.com/pruebas/ejemplo.html

el método getDocumentBase da como resultado una URL especificando:

http://www.micasa.com/pruebas

Algunos applets emplean este método para especificar una URL para los archivos de recursos; por ejemplo, getImage(getDocumentBase(), "imagen.gif"). De acuerdo con el ejemplo anterior, el applet buscaría el archivo de imagen en la URL

http://www.micasa.com/pruebas/imagen.gif

Tenga en cuenta, sin embargo, que la URL de Domino para un documento no hace referencia simplemente a un archivo; es un comando dirigido al servidor Domino para que éste genere el código HTML que representa a un documento. Si se utiliza el método getDocumentBase como una URL de Domino, se obtendrán resultados inesperados. Por ejemplo, suponga que ha vinculado un applet con la siguiente URL de Domino:

http://www.micasa.com/bdatos.nsf/Vistaprincipal/862..12E?OpenDocument

En este caso, si se usa el método getDocumentBase junto con la llamada a getImage se obtendrá:

http://www.micasa.com/bdatos.nsf/Vistaprincipal/imagen.gif

El applet no puede encontrar el archivo debido a que el ID del documento ya no existe y la imagen es un anexo a un documento, requiriendo por lo tanto un calificador $File como parte de su nombre.

Debido a que el ID del documento ha sido eliminado (y la imagen es un anexo en el documento y, por lo tanto, necesita un calificador "$FILE" para calificar el nombre de archivo), el applet no encontrará la imagen solicitada.

Uso de getCodeBase

El método getCodeBase es el más fiable para especificar un archivo de recursos. Este método devuelve la URL de base desde la que se ha cargado el applet. Dicha URL puede especificarse en el atributo CODEBASE de la etiqueta APPLET. Cuando Domino genera el código HTML para un applet que se ha insertado en un documento de Notes, también genera una URL completa para el atributo CODEBASE. De acuerdo con el ejemplo anterior, el método getCodeBase da como resultado:

http://www.micasa.com/bdatos.nsf/Vistaprincipal/862..12E/$FILE

Si se usa junto con las llamadas a recursos, como, por ejemplo, las llamadas a getImage, getCodeBase especifica correctamente el archivo de recursos. Por ejemplo:

getImage(getCodeBase(), "imagen.gif")

devuelve la siguiente URL cuando Domino suministra el applet:

http://www.micasa.com/bdatos.nsf/Vista principal/862..12E/$FILE/imagen.gif

Esto da como resultado una URL que permite al applet localizar correctamente el archivo.

Modificación de los valores de los parámetros para localizar los archivos de recursos

Algunos applets incluyen parámetros que hace referencia al archivo de recursos o a directorios que contienen este tipo de archivos. Por ejemplo, un applet podría incluir un parámetro que especificase un archivo para utilizarlo como imagen de fondo o el directorio en el que se encuentran los archivos de sonido requeridos por el applet. Es posible que necesite editar el applet para que dichos parámetros sean relativos a la URL de base desde la que se ha cargado el applet en lugar de a la URL de base del documento en el que está ubicado el applet.

Si no está desarrollando el applet y ha creado un vínculo a un applet existente en Internet, o ha conseguido un conjunto de archivos CLASS sin el código fuente, probablemente necesitará editar el valor de un parámetro después de insertar el applet en un formulario o documento. En este caso, anteponga la cadena "$notes_codebase" al valor de dicho parámetro.

Por ejemplo, en lugar de usar "imágenes/imagen.gif", use "$notes_codebase/imágenes/imagen.gif" como el valor del parámetro. Domino sustituirá todas las cadenas $notes_codebase incluidas en un parámetro por la URL de base desde la que se ha cargado el applet. En este caso concreto, Domino convertirá el valor del parámetro "$notes_codebase/imágenes/imagen.gif" en:

http://www.micasa.com/bdatos.nsf/Vistaprincipal/862..12E/$FILE/imágenes/imagen.gif

Debido a que se está suministrando una URL completa al especificar el valor del parámetro, se reemplazará el método getDocumentBase del applet y éste podrá encontrar el archivo de recursos.

Véase también


Glosario
¿Desea opinar sobre la Ayuda o sobre la utilidad del producto?