样 式 |
描 述 |
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(); } }