Antes de Exportar un Applet

Stop!

Antes de permitir que el mundo entero conozca tu applet, asegurate de responder si a todas las siguientes cuestiones:

  1. ¿Has eliminado o desactivado todas las salidas de depurado?

    Las salidas de depurado (creadas generalmente con System.out.println()), son útiles para ti pero generalmente confunden o molestan a los usuarios. Si intentas darle realimentación textual al usuario, intenta hacerlo dentro del área del applet o en el área de estado en la parte inferior de la ventana. La información sobre cómo utilizar el áera de estado puedes encontrarla en Mostrar Cadenas Cortas de Estado.

  2. ¿El applet detiene su ejecución cuando sale de la pantalla?

    La mayoría de los applets no deberían utilizar recursos de la CPU cuando el navegador está minimizado o mostrando una página que no contiene un applet. Si el código del applet no lanza explícitamente ningún thread, entonces está correcto.

    Si el applet lanza algún thread, entonces a menos que tengas una excusa REALMENTE BUENA para no hacerlo, deberas implementar el método stop() para que se paren y se destruyan (mediante su selección a null) los threads que has lanzado. Para ver un ejemplo de implementación del método stop() puedes ir a Ejemplos de Threads en Applets.

  3. Si el applet hace algo que pudiera resultar molesto -- ejecutar sonidos o animaciones, por ejemplo -- ¿Le has proporcionado al usuario alguna forma de parar el comportamiento molesto?

    Se amable con tus usuarios. Dale una oportunidad a tus usuarios para que paren el applet sin tener que abandonar la página. En un applet que de otra forma no responde a las pulsaciones del ratón, se puede hacer esto mediante la implementación del método mouseDown() para que un click del ratón suspenda el thread molesto. Por ejemplo:
    boolean frozen = false;     //Una variable de ejemplar
    
    public boolean mouseDown(Event e, int x, int y) {
        if (frozen) { 
            frozen = false;
            start();
        } else {
            frozen = true;
            stop();
        }
        return true;
    }


Ozito