Tutorial de Java

Applets, varios

Anterior | Siguiente
Depuración General

Compilar y ejecutar el sencillo programa HolaMundo.java a través del fichero HolaMundo.html no debería suponer ningún problema, pero alguna vez se presentarán programas más difíciles y se necesitará el truco de depuración al que todo programador recurre durante el desarrollo de programas en cualquier lenguaje.

    System.out.printl()

Una de las herramientas de depuración más efectivas en cualquier lenguaje de programación es simplemente la salida de información por pantalla. El comando System.out.println imprime la cadena que se le especifique en la ventana de texto en la que se invocó al navegador. La forma de usarlo se muestra a continuación:

    public void paint( Graphics g ) {
        g.drawString( "Hola Mundo!",25,25 );
        System.out.println( "Estamos en paint()" );
        }

Ciclo de Vida de un Applet

Para seguir el ciclo de vida de un applet, se supone que se está ejecutando en el navegador el applet básico HolaMundo, a través de la página HTML que lo carga y corre, y que se ha visto en ejemplos anteriores.

Lo primero que aparece son los mensajes "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es:

  • Se crea una instancia de la clase que controla al applet
  • El applet se inicializa a si mismo
  • Comienza la ejecución del applet

Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución.

Si se utiliza la opción del navegador de Reload, es decir, volver a cargar la página, el applet es descargado y vuelto a cargar. El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización.

Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador.

Protección de Applets

Como curiosidad, más que como algo verdaderamente útil, se verá a continuación un método para proteger applets de forma muy sencilla, o por lo menos evitar que nadie pueda ocultar en sus páginas HTML quien es el autor legal de un applet.

El método es muy sencillo y se basa en la utilización de un parámetro del cual se comprobar su existencia, por ejemplo:

    <PARAM NAME=copyright 
    VALUE="Applet de Prueba, A.Froufe (C)1996, Todos los derechos reservados">

y en el código Java del applet, se comprobaría que efectivamente el parámetro copyright existe y ese es su contenido:

    if( !getParameter( "copyright" ).equals( "..." )
    throw( new Exception( "Violacion del Copyright" ) );

donde "..." es el texto completo del valor del parámetro. Pero también se puede hacer de forma más elegante:

    copyright = getParameter( "copyright" );
    // System.out.println( copyright.hashCode() );
        
    if( copyright != -913936799 )
    throw( new Exception( "Violacion del Copyright" ) );

en donde la sentencia comentada proporciona el valor del copyright para poder introducirlo en la comparación de la presencia o no del parámetro en la llamada al applet. Habría que declarar y definir correctamente tipos y variables, pero la idea básica es la que está expuesta.

Navegador

Home | Anterior | Siguiente | Indice | Correo