Respuestas a las preguntas

Monday, October 12, 2009

Splash screen en un .jar en java

Hola
En algunas ocasiones en los programas que hacemos queremos agregarle ciertos arreglos estéticos que no tienen mucho que ver con la funcionalidad, pero que los hacen atractivos.

En esta ocasión comentaremos como agregarle a un programa en java y archivado en un .jar una imagen de splash, es esa imagen que se muestra antes de abrir la ventana principal de una aplicación. Un programa en java en ocasiones tarda en abrir la primera ocasión que se ejecuta en una máquina.

Después de investigar y de idear ¿cómo agregarla? di con la respuesta en la documentación de java buscando el objeto SplashScreen dentro del paquete java.awt.

Ahí mencionan dos opciones que a continuación les escribo:

1. Al momento de ejecutar el programa en la línea de comando hay que agregarle el parámetro -splash:filename.gif donde filename.gif es el nombre de la imagen de splash y Programa es la clase a ejecutar, esto es útil cuando tenemos un script que ejecuta el programa (.bat, .bash, .sh, etc.).

java -splash:filename.gif Programa


2. Dentro de un jar se debe modificar el manifest.mf agregandole la siguiente línea:
SplashScreen-Image: filename.gif donde filename.gif es la imagen a mostrar.


Manifest-Version: 1.0
Main-Class: Programa
SplashScreen-Image: filename.gif

En estas dos opciones no se puede manejar el tiempo que se muestra el splash screen pero funciona para casí cualquier necesidad.

Nota: Se recomienda una imagen gif no muy grande, y puede ser un gif animado. Dentro del directorio de java existe \jre\lib\deploy donde se puede encontrarun archivo .gif llamado splash.gif que muestra una ventana de java muy decente.

Saludos y hasta la próxima.