import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class MultiShell {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Display display = new Display();
final Shell parent = new Shell(display, SWT.SHELL_TRIM);
parent.setText("多窗口示例");
parent.setSize(300, 200);
//设置父窗口图标
parent.setImage(new Image(display, "E:\\Study\\SWT\\code\\SWTStudy\\src\\SWT\\/ico/firsteps48.gif"));
Button addShell = new Button(parent, SWT.CENTER);
addShell.setText("创建子窗口");
//注册按钮单击事件
addShell.addSelectionListener(new SelectionListener(){
@Override
public void widgetSelected(SelectionEvent e) {
// TODO Auto-generated method stub
//当单击时创建子窗口
createChildrenShell(parent, "子窗口");
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
addShell.pack();
parent.open();
while (!parent.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
public static Shell createChildrenShell(Shell parent, String childrenName)
{
//创建之窗口
Shell shell = new Shell(parent, SWT.DIALOG_TRIM);
shell.setText(childrenName);
shell.setSize(100,100);
shell.open();
return shell;
}
}