import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class splash extends JFrame
{
  Toolkit kit = Toolkit.getDefaultToolkit();
  JWindow jw = new JWindow();
  JLabel la = new JLabel(new ImageIcon("a.jpg"));  
    public splash()
    {
      la.setBorder(BorderFactory.createRaisedBevelBorder());
      jw.getContentPane().add(la,BorderLayout.CENTER);
      centerWindow();
      jw.show();
      
      jw.addMouseListener(new MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
              jw.dispose();
              System.exit(0);
            }
        });
        
      
    }
    
    private void centerWindow()
    {
      Dimension sc = kit.getScreenSize();
      Dimension ls = la.getPreferredSize();
      int law = ls.width;
      int lah = ls.height;
      jw.setLocation(sc.width/2 - (law/2),sc.height/2 - (lah/2));
      jw.pack();    }
    
    public static void main(String args[])
    {
      JFrame fr = new splash();
      
    }

解决方案 »

  1.   

    Center a Frame/Dialog
    // centers the dialog within the screen [1.1]
    //  (put that in the Frame/Dialog class)
    public void centerScreen() {
      Dimension dim = getToolkit().getScreenSize();
      Rectangle abounds = getBounds();
      setLocation((dim.width - abounds.width) / 2,
          (dim.height - abounds.height) / 2);
      super.setVsible(true);
      requestFocus();
      }  
    // centers the dialog within the parent container [1.1]
    //  (put that in the Dialog class)
    public void centerParent () {
      int x;
      int y;  // Find out our parent 
      Container myParent = getParent();
      Point topLeft = myParent.getLocationOnScreen();
      Dimension parentSize = myParent.getSize();  Dimension mySize = getSize();  if (parentSize.width > mySize.width) 
        x = ((parentSize.width - mySize.width)/2) + topLeft.x;
      else 
        x = topLeft.x;
      
      if (parentSize.height > mySize.height) 
        y = ((parentSize.height - mySize.height)/2) + topLeft.y;
      else 
        y = topLeft.y;
      
      setLocation (x, y);
      super.setVsible(true);
      requestFocus();
      }