可以自己写个方法,getToolkit().getScreenSize()(可能不一定这样写,大体是这样,得到屏幕大小),然后屏幕长-窗口长再除以2,宽也同样。这样就在中间了。就是相对坐标。

解决方案 »

  1.   

    1:Dimension screenSize = getToolkit().getScreenSize();
        Dimension mainFrameSize = getSize();
        setLocation(screenSize.width  - mainFrameSize.width , screenSize.height  - mainFrameSize.height );
    2:你的窗口是dialog还是JOptionPane.show()出来的?
      

  2.   

    faint!你自己试试不就知道了!
      

  3.   

    //======================== 置中Frame 的方法 =================
    private void centerWin(){
    Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize();
    Dimension labelSize = jWindow.getPreferredSize(); int labelWidth = labelSize.width;
    int labelHeight = labelSize.height;
    jWindow.setLocation(screenSize.width/2-(labelWidth/2),screenSize.height/2-(labelHeight/2));
    jWindow.pack();
      }//---------------------------------
    jWindow 可以使任何 Frame
      

  4.   

    TO  drinkant(喝酒的蚂蚁)  :
       这样取到的屏幕大小就是它实际的大小,不管他是800*600还是别的。你所谓的比例尺什么的东西都被隐藏在内部,根本就是程序员不用具体涉及的。不然你想为每一种分辨率写一个方法???呵呵
      

  5.   

    to:drinkant(喝酒的蚂蚁) 
    我问的是有这个意思的,原意是希望可以达到与solution无关,那么,兄台,你那个比例尺,思想是如何实现的,复不复杂?to: bhr(追风)
    2.不是dialog. 
      

  6.   

    置中那个问题,基本没问题了。但当要在特定位置显示,而又可保证在不同的solution下,效果都没太大差异,那我想就要用比例尺。不过这家伙可能比较复杂!?
      

  7.   

    不说了, 好没意思
    你们考虑的最多只是个别情况<居中,右下脚...>, 偶所说的是一个普适的方法
    要是大家都不理解偶也懒得在说了