Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

解决方案 »

  1.   

    调用如下CenterShow class即可:
    比如在一个扩展Frame class的jbInit()方法内调用如下
    CenterShow cs = new CenterShow(this);附CenterShow代码:
    import java.awt.*;
    public class CenterShow {
      public CenterShow(Frame frame) {//目标显示为界面Frame/JFrame
        //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);
      }
       
       public CenterShow(Dialog dialog) {//目标显示为对话框Dialog/JDialog
        //Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension dialogSize = dialog.getSize();
        if (dialogSize.height > screenSize.height) {
          dialogSize.height = screenSize.height;
        }
        if (dialogSize.width > screenSize.width) {
          dialogSize.width = screenSize.width;
        }
        dialog.setLocation((screenSize.width - dialogSize.width) / 2,
          (screenSize.height - dialogSize.height) / 2);
      }
    }
      

  2.   

    //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.   


        Dimension screen= Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screen.height) {
          frameSize.height = screen.height;
        }
        if (frameSize.width > screen.width) {
          frameSize.width = screen.width;
        }
        frame.setLocation((screen.width - frameSize.width) / 2, (screen.height - frameSize.height) / 2);
        frame.setVisible(true);