Foros del Web » Programación para mayores de 30 ;) » Java »

SplashScreen

Estas en el tema de SplashScreen en el foro de Java en Foros del Web. Hola a todos. Antes de nada decir que estoy empezando a programar en java en aplicaciones de escritorio. Utilizo la libreria swing. Necesito mostrar una ...
  #1 (permalink)  
Antiguo 28/04/2009, 13:49
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
SplashScreen

Hola a todos.

Antes de nada decir que estoy empezando a programar en java en aplicaciones de escritorio. Utilizo la libreria swing.

Necesito mostrar una splash screen. He estado mirando la classe SplashScreen y leyendo y releyendo el ejemplo que te muestran, pero no logro sacar toda la "paja" del codigo para quedarme con lo esencial para crear una splash screen.

Basicamente necesito que se muestre una imagen y para simular que hace algo que se espere X segundos para posteriormente eliminarla y mostrar una ventana.

Se que la imagen debe ir dentro de un archivo JAR y editar el manifiesto. Esto ya se como hacerlo. Tambien tengo creado un objeto ventana que sera el que se llame cuando el tiempo de espera de la splash screen termine.


Para esperarse X tiempo por casualidad se hace con la clase Timer?

PD: Obviamente no pido un codigo hecho, solo ese pequeño empujon inicial para organizar las ideas.


Gracias.
  #2 (permalink)  
Antiguo 28/04/2009, 16:17
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 17 años
Puntos: 8
Respuesta: SplashScreen

Talvez te sirva utilizar la clase SwingWorker que te permite ejecutar tareas en background

http://mundojava.blogspot.com/2006/1...orker-con.html

salu2
  #3 (permalink)  
Antiguo 29/04/2009, 08:14
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: SplashScreen

No me sirve pero gracias igualmente.
  #4 (permalink)  
Antiguo 30/04/2009, 09:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: SplashScreen

Si no necesitas que la splash screen haga algo especial, basta que declares en el MANIFEST de tu .jar cual es el fichero que ha de mostrar(con el atributo SplashScreen-Image) y te lo mostrará hasta que tu crees una ventana. Cuando creas una ventana, la imagen se oculta automáticamente.

Para hacer cosas más complejas, como que la splash screen tenga una barra de progreso que se actualice etc. entonces si hace falta usar la clase SplashScreen.

En el proyecto Wembed: http://kenai.com/projects/wembed/pages/Home, yo lo tengo hecho así y haciendo un GIF animado, queda bastante decente.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 30/04/2009, 12:55
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: SplashScreen

Cita:
Iniciado por GreenEyed Ver Mensaje
basta que declares en el MANIFEST de tu .jar cual es el fichero que ha de mostrar(con el atributo SplashScreen-Image)
Perfecto, gracias.

El problema es que aparece e inmediatemente se abre la ventana principal. Con que clase puedo hacer que la aplicacion se ejecute al cabo de 1 segundo? Vamos, lo que en c++ seria hacer un sleep (1).

Saludos.

EDIT:

Encontre lo siguiente, pero no se si es una buena solucion o si hay soluciones mejores:

Código java:
Ver original
  1. try {
  2.     Thread.sleep (1000);
  3. }
  4. catch (Exception e) { }


Por tanto el main me quedaria asi:

Código java:
Ver original
  1. public static void main(String[] args) {
  2.         try {
  3.             Thread.sleep (2500);
  4.         }
  5.         catch (Exception e) { }
  6.  
  7.         new Ventana ();
  8.     }

Agradeceria cualquier comentario :)

Última edición por GagleKas; 30/04/2009 a las 15:58
  #6 (permalink)  
Antiguo 01/05/2009, 08:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: SplashScreen

Bueno, la splash screen del .jar dura hasta que tu abras una ventana. Si no quieres que desaparezca hasta que hayas hecho X cosas, tienes que hacerlas antes de abrir ninguna ventana.

Si simplemente quieres que espere x segundos sin hacer nada antes de salir tu ventana de aplicación, pues un sleep es lo correcto. En una aplicación normal no se suele usar, ya que la idea es arrancar cuanto antes y la ventana de splash se usa únicamente para "entretener al usuario" mientras se inicializan cosas, pero si es una demo, pues ya va bien.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 01/05/2009, 08:26
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: SplashScreen

Ah vale, ya entendi la idea.

Muchisimas gracias :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:24.