| 样 式 |
描 述 |
| BORDER |
窗口使用边框。 |
| CLOSE |
在窗口右上角添加“关闭”按钮。 |
| MIN |
在窗口右上角添加“最小化”按钮。 |
| MAX |
在窗口右上角添加“最大化”按钮。 |
| NO_TRIM |
窗口没有“特殊样式”,该窗口没有边框,没有“关闭”、“最大化”、“最小化”按钮,不能修改其大小。 |
| RESIZE |
大小可修改。 |
| TITLE |
窗口包含标题栏。 |
| DIALOG_TRIM |
BORDER | CLOSE | TITLE的组合。 |
| SHELL_TRIM |
CLOSE | MIN | MAX | RESIZE | TITLE的组合。
|
Shell组件还包含一个称做“模式”的样式, 该样式用于决定是否阻拦该Shell组件依赖的display上的其他输入。该样式可以是:
APPLICATION_MODAL、MODELESS、PRIMARY_MODAL或SYSTEM_MODAL。
PRIMARY_MODAL样式允许Shell组件阻拦对其父亲组件的输入;
APPLICATION_MODAL阻拦Shell组件依赖的display上的所有其他Shell组件的输入;
SYTEM_MODAL样式阻拦当前系统中所有的向Shell组件的输入。
package demo;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Demo {
public static void main(String[] args) {
Display display = new Display();
// 顶级窗口
Shell topShell = new Shell(display, SWT.SHELL_TRIM);
topShell.setText("顶级窗口");
topShell.setSize(300, 200);
topShell.open();
// topShell.pack();
// 对话框
Shell dialogShell = new Shell(topShell, SWT.DIALOG_TRIM
| SWT.PRIMARY_MODAL);// 样式允许Shell组件阻拦对其父亲组件的输入
// Shell dialogShell= new
// Shell(topShell,SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);//阻拦Shell组件依赖的display上的所有其他Shell组件的输入
// Shell dialogShell= new
// Shell(topShell,SWT.DIALOG_TRIM|SWT.SYSTEM_MODAL);//样式阻拦当前系统中所有的向Shell组件的输入
// Shell dialogShell= new
// Shell(display,SWT.DIALOG_TRIM|SWT.MODELESS);//正常
dialogShell.setText("对话框窗口");
dialogShell.setSize(100, 50);
dialogShell.open();
// 打开窗口
while (!topShell.isDisposed()) {// GUI调用
if (!display.readAndDispatch())
display.sleep();
}
display.beep();
display.dispose();
}
}
