
Hola amigos amadores de la programación en Java, en esta oportunidad quiero compartir con ustedes la manera sencilla de hacer un splash screen. ¿Que es eso? se preguntaran, bueno un Splash Screen es una Ventana de Bienvenida a nuestra Aplicacion, esta ventana no tiene los controles clasicos de cerrar, maximisar y minimizar, ademas se le puede incluir una barra de progreso para mostrarse mientras carga en memoria nuestra Aplicación.
A continuación les dejo con el Código espero que les sea de utilidad para mejorar la presentación de sus entregables.
package GUIs;
import java.awt.*;
import javax.swing.*;
public class VentanaSplash {
//Componente en donde colocamos la Imagen Splash
private JLabel splashLabel;
//Progreso de Barra
private JProgressBar progreso;
//Ventana del SPlash
private JWindow splashScreen;
//Ventana de Trabajo
private VentPrincipal ventana;
public VentanaSplash()
{
crearSplashScreen();
// arrancar el splash
splashScreen.setVisible(true);
//iniciar progreso
hiloProgreso hilo=new hiloProgreso();
hilo.start();
//Crear Ventana de Trabajo
ventana=new VentPrincipal();
// mostrar cuando termine de cargar en memoria
ventana.setVisible(true);
//cerrar el Splash
splashScreen.setVisible(false);
//liberar Splash de memoria
splashScreen=null;
hilo=null;
}
public void crearSplashScreen()
{
//dimension del escritorio
Dimension screenRect =Toolkit.getDefaultToolkit().getScreenSize();
//Inicializa "splashLabel" con la ruta de la Imagen Splash
splashLabel=new JLabel(new ImageIcon("images/splash2.jpg"));
//Inicializa el Progreso
progreso=new JProgressBar();
progreso.setBorderPainted(true);
progreso.setForeground(new Color(50,50,153,100));
// Mostrar el valor de avance
progreso.setStringPainted(true);
splashScreen = new JWindow();
//Posiciona Aprox. en el Centro del Escritorio
splashScreen.setLocation(screenRect.width/4+30, screenRect.height/4);
splashScreen.setLayout(new BorderLayout());
splashScreen.add(splashLabel,BorderLayout.CENTER);
splashScreen.add(progreso,BorderLayout.SOUTH);
//empaqueta todo
splashScreen.pack();
}
public void pausa(int mlSeg)
{
try{// pausa para el splash
Thread.sleep(mlSeg);
}catch(Exception e){}
}
//Hilo del Progreso
class hiloProgreso extends Thread
{
public hiloProgreso()
{
super();
}
public void run()
{
for(int i=1;i<=100;i++)
{
progreso.setValue(i);
pausa(5);
}
}
}
public static void main(String[] args)
{
//JFrame.setDefaultLookAndFeelDecorated(false);
new VentanaSplash();
}
}

Hola mi gente, aquí de nuevo para mostrarles lo fácil que es cambiar de aspecto a nuestra interfaz gráfica en Java (LookAndFee). Como sabemos Java maneja su propia API de GUI hecho en C y es multiplataforma, es decir su aspecto es la misma en cualquier sistema operativo.



Hola gente programadora, aquí les muestro un nuevo post esperando que les sirva para enriquecer sus conocimientos.



