/**
* 设置窗口的样式(屏幕居中,主题等)
*
*/
public class WindowStyle {
/**
* 设置窗口位于屏幕中间
* @param shell 要调整位置的窗口对象
*/
public static void setCenter(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 setCenter(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);
}
/**
* 设置窗口主题
* @param shell 要调整的窗口
* @param point 窗口大小
*/
public static void setTopic(Shell shell,Point point){
ShellWrapper wrapper = new ShellWrapper(shell, ThemeConstants.STYLE_OFFICE2007);
wrapper.installTheme(ThemeConstants.STYLE_OFFICE2007);//office2007主题
wrapper.setSize(point);//设置窗口大小
}
}