SWT编写界面窗口时让窗口处于屏幕中间

    技术2022-05-11  94

    一、使用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) );}

    最新回复(0)