01: package org.skunk.swing;
02:
03: import java.awt.BorderLayout;
04: import java.awt.Color;
05: import java.awt.Dimension;
06: import java.awt.Toolkit;
07: import javax.swing.BorderFactory;
08: import javax.swing.ImageIcon;
09: import javax.swing.JLabel;
10: import javax.swing.JPanel;
11: import javax.swing.JWindow;
12:
13: /**
14: * a simple splash screen that displays an image with a black border.
15: */
16: public class SplashScreen extends JWindow {
17: /**
18: * constructs the splash screen.
19: * @param ii the image icon to display.
20: */
21: public SplashScreen(ImageIcon ii) {
22: super ();
23: setContentPane(new ScreenPanel(ii));
24: pack();
25: center();
26: }
27:
28: private void center() {
29: Dimension size = getContentPane().getPreferredSize();
30: Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
31: int x = (screen.width - size.width) / 2;
32: int y = (screen.height - size.height) / 2;
33: setBounds(x, y, size.width, size.height);
34: }
35:
36: private class ScreenPanel extends JPanel {
37: private ImageIcon ii;
38:
39: public ScreenPanel(ImageIcon ii) {
40: super ();
41: this .setLayout(new BorderLayout());
42: this .ii = ii;
43: init();
44: }
45:
46: private void init() {
47: JLabel label = new JLabel(ii);
48: this .add(label, BorderLayout.CENTER);
49: this .setBorder(BorderFactory.createLineBorder(Color.black,
50: 5));
51: }
52: }
53: }
|