SWT/JFace设置窗口位于屏幕中间

本文介绍了一种在SWT环境下将窗口居中显示的方法。通过获取屏幕尺寸及窗口尺寸,确保窗口无论大小均可精确地居中显示,提供更好的用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分类: SWT Designer


/**
* 设置窗口位于屏幕中间
* @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);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值