代码如下,熟悉API和概念:
package com.layotech.www.study;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
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 {
public static void main(String[] args) {
Display display = new Display();
final Shell parent = new Shell(display,SWT.SHELL_TRIM);
parent.setText("多窗口示例");
parent.setSize(300,200);
//设置父窗口图标
Image image = new Image(display, "E:\\IMAG0016.jpg");
parent.setImage(image);
Button addShell = new Button(parent, SWT.CENTER);
addShell.setText("创建子窗口");
addShell.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event){
createChildrenShell(parent,"子窗口");
}
});
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;
}
}