ClientFrame frame = new ClientFrame();
    //Validate frames that have preset sizes
    //Pack frames that have useful preferred size info, e.g. from their layout
    if (packFrame) {
      frame.pack();
    }
    else {
      frame.validate();
    }
    //把窗口设为居中
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);

解决方案 »

  1.   

    import java.awt.*;
     import java.awt.event.*;
     import javax.swing.*; public class CenteredFrameTest
     {
        public static void main(String[] args)
        {
           CenteredFrame frame = new CenteredFrame();
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.show();
        }
     } class CenteredFrame extends JFrame
     {
        public CenteredFrame()
        {
           // get screen dimensions       Toolkit kit = Toolkit.getDefaultToolkit();
           Dimension screenSize = kit.getScreenSize();
           int screenHeight = screenSize.height;
           int screenWidth = screenSize.width;       // center frame in screen       setSize(screenWidth / 2, screenHeight / 2);
          setLocation(screenWidth / 4, screenHeight / 4);
       }
     }摘于Core Java 卷1
      

  2.   

    ConfigFrame  frame = new ConfigFrame(mainFrame);
    // Center the window
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
        frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
        frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2,
        (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
      

  3.   

    你会用NETBEANS IDE 3。5。1的话,这个问题就好解决了。
      

  4.   

    class Cen extends JFrame
     {
        public CenteredFrame()
        {
           // get screen dimensions       Toolkit kit = Toolkit.getDefaultToolkit();
           Dimension screenSize = kit.getScreenSize();
           int screenHeight = screenSize.height;
           int screenWidth = screenSize.width;       // center frame in screen       setSize(screenWidth / 2, screenHeight / 2);
          setLocation(screenWidth / 4, screenHeight / 4);
       }
     }