package org.fanhongtao.swt;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
/**
*
* @author Dharma
* @created 2008-10-18
*/
public final class SWTUtils
{
private SWTUtils()
{
}
/**
* 将Shell窗口显示在屏幕中间
*
* @param shell
*/
public static void setCenter(Shell shell)
{
// 取得屏幕的宽度和高度(单位:像素)
Rectangle rtg = shell.getMonitor().getClientArea();
int width = rtg.width;
int height = rtg.height;
// 取得shell的宽度和高度(单位:像素)
int x = shell.getSize().x;
int y = shell.getSize().y;
// 计算shell居中时,左上角的坐标
Point p = new Point((width - x) / 2, (height - y) / 2);
shell.setLocation(p);
}
/**
* 显示对话框<br>
* 如果是JFace程序,则应该使用JFace封闭的Dialog。
* @param shell 父shell
* @param style 对话框的类型
* @param title 对话框的Title
* @param message 所要显示的内容
*/
public static void showMessage(Shell shell, int style, String title, String message)
{
MessageBox messageBox = new MessageBox(shell, style);
messageBox.setText(title);
messageBox.setMessage(message);
messageBox.open();
}
}