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