SWT让窗体居中显示

protected void createContents() {
		shell = new Shell(display,SWT.NO_TRIM|SWT.CLOSE);
		shell.setSize(450, 300);
		shell.setText("SWT Application");
		
		//第一种方法
		  //获取屏幕高度和宽度
        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));

		
		//第二种方法
		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)