SWT shell 窗体如何在桌面中央显示?
解决方案 »
- java字符长度问题
- sql server2000 select 表名为变量 java语句如何写?
- 关于补码的问题
- 问个readLine的小问题
- 关于异常抛出的问题?
- 如何从一个给定的日期,得出它处于当年的第几周?
- sql语句查询,日期比较
- 有关actionPerformed的问题!高手帮忙!
- non-static variable n cannot be referenced from a static context
- 各位大虾帮帮我,我快死了!!!!!!!!!!!!!!!!!!!!400分提供!!!!!!!!!!!!!!
- JTable 最后一列如何自动添加JButton??
- 贪吃蛇创意需求征集(标题短也不让发)
shell.setSize(100, 100);
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);
f.setSize(550,200);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = f.getSize();
int x = (screenSize.width - size.width) / 2;
int y = (screenSize.height - size.height) / 2;
f.setLocation( x, y );
f.setVisible(true);
/**
* 设置窗口位于屏幕中间
* @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);
}
final Shell shell = new Shell(SWT.CENTER);
.....