Código PHP:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
/**
*
* @author hwongu
*/
public class frmSplash extends JWindow{
/**
* Permite crear una instancia de un Splash <BR>
* recibiendo como parametros lo siguiente <BR>
* filename : La imagen que queremos que se muestre <BR>
* waitTime: El tiempo que se mostrara en milisegundos <BR>
*/
public frmSplash (String filename, int waitTime) {
super();
//Insertamos la imagen en un label
JLabel l = new JLabel(new javax.swing.ImageIcon(getClass().getResource("/CapaComplementos/Imagenes/imagen.gif")));
getContentPane().add(l, BorderLayout.CENTER);
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension labelSize = l.getPreferredSize();
setLocation(screenSize.width/2 - (labelSize.width/2), screenSize.height/2 - (labelSize.height/2));
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
setVisible(false);
dispose();
}
});
// Tiempo que estara visible la ventana, en milisegundos
final int pause = waitTime;
// cierra la ventana
final Runnable closerRunner = new Runnable() {
public void run() {
setVisible(false);
dispose();
frmOtroFormularioAbrir frame = new frmOtroFormularioAbrir();
frame.setVisible(true);
}
};
// Este es el objeto que pone a dormir a closerRunner
// y captura las excepciones;
Runnable waitRunner = new Runnable() {
public void run() {
try {
Thread.sleep(pause);
SwingUtilities.invokeAndWait(closerRunner);
} catch(Exception e) {
e.printStackTrace();
// can catch InvocationTargetException
// can catch InterruptedException
}
}
};
setVisible(true);
// aqui creamos y lanzamos el hilo
Thread splashThread = new Thread(waitRunner, "SplashThread");
splashThread.start();
}
public static void main(String arg[]){
frmSplash miSplash = new frmSplash("",5000);
}
}