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