Package: javax.swing.* |
Product: Swing |
Release: 1.0.3 |
Related Links: |
ComboBox
JDialog
JFileChooser
JFrame
JOptionPane
JProgressBar
JScrollPane
JTable
General
JTree
JWindow
KeyStroke
LayeredPane
UIDefaults
|
Comment: |
public static void main() { SplashWindow3 sw = new SplashWindow3("splash.gif",null, 15000); } class SplashWindow3 extends JWindow { public SplashWindow3(String filename, Frame f, int waitTime) { super(f); JLabel l = new JLabel(new ImageIcon(filename)); 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(); } }); final int pause = waitTime; final Runnable closerRunner = new Runnable() { public void run() { setVisible(false); dispose(); } }; 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); Thread splashThread = new Thread(waitRunner, "SplashThread"); splashThread.start(); } } |