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