首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

SWT/Jface Shell 荧幕居中的三种方法

2012-09-29 
SWT/Jface Shell 屏幕居中的三种方法当我们有弹出对话框的需求,为了冲击我们的视觉体验,我们常常要把对话

SWT/Jface Shell 屏幕居中的三种方法

当我们有弹出对话框的需求,

为了冲击我们的视觉体验,我们常常要把对话框设置在屏幕的中间。

以下是设置居中的3种方法,请大家收藏:

 

1.

int width = shell.getMonitor().getClientArea().width;
int height = shell.getMonitor().getClientArea().height;
int x = shell.getSize().x;
int y = shell.getSize().y;
if (x > width) {
    shell.getSize().x = width;
}
if (y > height) {
    shell.getSize().y = height;
}
shell.setLocation((width - x) / 2, (height - y) / 2);


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);

 

3.

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));

 

共勉。

 

热点排行