1 import java.awt.BorderLayout;
2 import java.awt.Dimension;
4 import java.awt.Toolkit;
5 import java.awt.event.MouseAdapter;
6 import java.awt.event.MouseEvent;
8 import javax.swing.ImageIcon;
9 import javax.swing.JLabel;
10 import javax.swing.JWindow;
11 import javax.swing.SwingUtilities;
12 class SplashWindow3 extends JWindow {
13 public SplashWindow3(String resName, Frame f, int waitTime) {
15 JLabel l = new JLabel(new ImageIcon(this.getClass().getResource(resName)));
16 getContentPane().add(l, BorderLayout.CENTER);
18 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
19 Dimension labelSize = l.getPreferredSize();
20 setLocation(screenSize.width / 2 - (labelSize.width / 2), screenSize.height / 2 - (labelSize.height / 2));
21 addMouseListener(new MouseAdapter() {
22 public void mousePressed(MouseEvent e) {
27 final int pause = waitTime;
28 final Runnable closerRunner = new Runnable() {
34 Runnable waitRunner = new Runnable() {
38 SwingUtilities.invokeAndWait(closerRunner);
39 } catch (Exception e) {
41 // can catch InvocationTargetException
42 // can catch InterruptedException
47 Thread splashThread = new Thread(waitRunner, "SplashThread");
52 public static void main(String args[]) {
53 SplashWindow3 sw = new SplashWindow3("splash.png",null, 4000);