<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢想家

    5年開發工程師,2年實施經理,X年售前顧問,......
    數據加載中……
    SWT編寫界面窗口時讓窗口處于屏幕中間

    一、使用SWT本身

    import org.eclipse.swt.graphics.Rectangle;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;

    public class LayoutUtil ...{

    public static void centerShell(Display display,Shell shell)...{
            Rectangle displayBounds = display.getPrimaryMonitor().getBounds();
            Rectangle shellBounds = shell.getBounds();
    int x = displayBounds.x + (displayBounds.width - shellBounds.width)>>1;
    int y = displayBounds.y + (displayBounds.height - shellBounds.height)>>1;
            shell.setLocation(x, y);
        }
    }

    直接調用LayoutUtil.centerShell(Display display,Shell shell)即可使SWT窗口處于屏幕中央,其中,shell 要顯示的Shell對象。
    二、借助AWT包里面獲取屏幕大小的方法

    import java.awt.Toolkit;
    /** *//**
    * 在屏幕中間顯示Shell
    * @param shell 要顯示的Shell對象
    */
    private void centerShell(Shell shell)
    ...{
    //得到屏幕的寬度和高度
    int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
    int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
    //得到Shell窗口的寬度和高度
    int shellHeight = shell.getBounds().height;
    int shellWidth = shell.getBounds().width;
    //如果窗口大小超過屏幕大小,讓窗口與屏幕等大
    if(shellHeight > screenHeight)
                       shellHeight = screenHeight;
    if(shellWidth > screenWidth)
                      shellWidth = screenWidth;
    //讓窗口在屏幕中間顯示
            shell.setLocation(( (screenWidth - shellWidth) / 2),((screenHeight - shellHeight) / 2) );
    }



    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-12-25 14:21 阿南 閱讀(1607) 評論(2)  編輯  收藏

    評論

    # re: SWT編寫界面窗口時讓窗口處于屏幕中間[未登錄] 2008-06-17 23:06 javaboy

    學習了 呵呵
      回復  更多評論    

    # re: SWT編寫界面窗口時讓窗口處于屏幕中間[未登錄] 2008-08-05 11:42 andrew

    int x = displayBounds.x + (displayBounds.width - shellBounds.width)>>1;
    這一行某些時候有錯誤。
    應該改為:
    int x = displayBounds.x +( (displayBounds.width - shellBounds.width)>>1);

    通常沒問題,因為displayBounds.x=0.
      回復  更多評論    

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成年午夜视频免费观看视频| 午夜视频免费在线观看| 曰皮全部过程视频免费国产30分钟| 亚洲精品在线电影| 久热中文字幕在线精品免费| 久久丫精品国产亚洲av| 19禁啪啪无遮挡免费网站| 亚洲视屏在线观看| 四虎永久在线观看免费网站网址 | 激情五月亚洲色图| 日韩毛片免费无码无毒视频观看| tom影院亚洲国产一区二区| 性做久久久久久免费观看| 亚洲av无码成人精品国产| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 99热在线免费播放| 亚洲视频一区在线播放| 精品熟女少妇AV免费观看| 亚洲欧美日韩自偷自拍| 亚洲第一网站男人都懂| 成人性生交大片免费看好| 五月天网站亚洲小说| 在线视频观看免费视频18| 亚洲av成本人无码网站| 国产成人毛片亚洲精品| 免费黄色电影在线观看| 亚洲六月丁香六月婷婷蜜芽| 日韩成人免费在线| 三上悠亚电影全集免费| 亚洲精品91在线| 国产免费av片在线播放| 三年片在线观看免费| 亚洲中文字幕AV在天堂| 人人狠狠综合久久亚洲高清| 免费网站看av片| 亚洲国产精品嫩草影院| 亚洲精品国产品国语在线| 青青草免费在线视频| 国产精品偷伦视频免费观看了| 亚洲无圣光一区二区| 亚洲国产精品日韩专区AV|