SWT Shell類的窗口模式


    

    

BORDER

窗口使用邊框。

CLOSE

在窗口右上角添加“關閉”按鈕。

MIN

在窗口右上角添加“最小化”按鈕。

MAX

在窗口右上角添加“最大化”按鈕。

NO_TRIM

窗口沒有“特殊樣式”,該窗口沒有邊框,沒有“關閉”、“最大化”、“最小化”按鈕,不能修改其大小。

RESIZE

大小可修改。

TITLE

窗口包含標題欄。

DIALOG_TRIM

BORDER | CLOSE | TITLE的組合。

SHELL_TRIM

CLOSE | MIN | MAX | RESIZE | TITLE的組合。

 

Shell組件還包含一個稱做“模式”的樣式, 該樣式用於決定是否阻攔該Shell組件依賴的display上的其他輸入。該樣式可以是:

APPLICATION_MODALMODELESSPRIMARY_MODALSYSTEM_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();
	}

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM