SWT中的模式和非模式窗体(modal or non-modal)

来源:互联网 发布:darma 知乎 编辑:程序博客网 时间:2024/06/10 15:40

 以前实现SWT中的模式和非模式窗体(modal or non-modal window )是通过在子窗体中是否截取父窗体的消息循环来实现的,现在发现这样好像不行了,但可以通过指定子窗体的样式(style)来制定子窗体是否是模式窗体。

[java] view plaincopy
  1. Shell child = new Shell(shell,SWT.SHELL_TRIM|SWT.APPLICATION_MODAL);   

    上面的语句指定了子窗体child为模式窗体。在上面的style中指定SWT.SHELL_TRIM 是为了显示窗体的三个默认按钮(最大,最小和关闭),也可以用SWT.DIALOG_TRIM,不过此时为对话框样式,只有一个默认按钮(关闭)。默认的Shell是非模式窗体,并且是有默认系统按钮的,即样式为:SWT.SHELL_TRIM|SWT.MODELESS。
    顺便说一下,在JFace的Dialog中使用模式对话框只要简单的设置该对话框setBlockOnOpen(true)即可。

 

转载地址:http://www.blogjava.net/pandawang/archive/2007/05/17/118075.html

0 0