getLocationOnScreen()这个方法,对你有用。

解决方案 »

  1.   

    首先要获取屏幕尺寸
    Toolkit.getDefaultToolkit().getScreenSize()
    返回一个dimesion对象
    利用getWidth和getHeight得到屏幕的高和宽
    然后根据窗口尺寸就可以用setLocation方法来使窗口居中了
      

  2.   

    /*让窗口或控件(Component)处于屏幕中央*/
       public static void centerWindow(Component component)
       {
         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension componentSize = component.getSize();
        if (componentSize.height > screenSize.height) {
          componentSize.height = screenSize.height;
        }
        if (componentSize.width > screenSize.width) {
          componentSize.width = screenSize.width;
        }
        component.setLocation((screenSize.width - componentSize.width) / 2, (screenSize.height - componentSize.height) / 2);
        component.setVisible(true);
      }
      

  3.   

    FrameBusiness frame = new FrameBusiness();
        Dimension dlgSize = frame.getPreferredSize();
        Dimension frmSize = getSize();
        frame.setSize(600, 300);
        Point loc = getLocation();
        frame.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
        frame.setResizable(false);
        frame.pack();
        frame.show();
      

  4.   

    public class Center{
      Dimension screenSize,frameSize;
      JFrame frame;
      public Center(JFrame frame){
        this.frame=frame;
        screenSize=Toolkit.getDefaultToolkit().getScreenSize();
        frameSize=frame.getSize();
      }
      public void center(){
        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);
      }
    }