swt shell设置窗口位于屏幕中间

Posted Never be the same

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swt shell设置窗口位于屏幕中间相关的知识,希望对你有一定的参考价值。

 /**
     * 设置窗口位于屏幕中间
     * @param shell 要调整位置的窗口对象
     */
    public static void center(Shell shell)
    {
        //获取屏幕高度和宽度
        int screenH = Toolkit.getDefaultToolkit().getScreenSize().height;
        int screenW = Toolkit.getDefaultToolkit().getScreenSize().width;
        //获取对象窗口高度和宽度
        int shellH = shell.getBounds().height;
        int shellW = shell.getBounds().width;
        
        //如果对象窗口高度超出屏幕高度,则强制其与屏幕等高
        if(shellH > screenH)
            shellH = screenH;
        
        //如果对象窗口宽度超出屏幕宽度,则强制其与屏幕等宽
        if(shellW > screenW)
            shellW = screenW;
        
        //定位对象窗口坐标
        shell.setLocation(((screenW - shellW) / 2), ((screenH - shellH) / 2));
    }
    
    /**
     * 设置窗口位于屏幕中间
     * @param display 设备
     * @param shell 要调整位置的窗口对象
     */
    public static void center(Display display, Shell shell)
    {
        Rectangle bounds = display.getPrimaryMonitor().getBounds();
        Rectangle rect = shell.getBounds();
        int x = bounds.x + (bounds.width - rect.width) / 2;
        int y = bounds.y + (bounds.height - rect.height) / 2;
        shell.setLocation(x, y);
    } 






































以上是关于swt shell设置窗口位于屏幕中间的主要内容,如果未能解决你的问题,请参考以下文章

将按钮中间放在手机屏幕底部(无论屏幕大小)

pyside 移动窗口到屏幕中间

delphi怎么把窗口定位到屏幕中间

c#的 winform怎么使弹出的窗口在屏幕的正中间,就是当我点击链接弹出的窗口。 急~在线等!!!!!!

QT软件开发: 窗口打开固定在屏幕中间或者右下角

Qt设置窗口可拖动