JFace的对话框始终在最前面和无模式

JFace的对话框始终在最前面和无模式

问题描述:

我创建了一个JFace的无模式对话框,试图把壳的风格与下列选项JFace的对话框始终在最前面和无模式

setShellStyle(SWT.CLOSE | SWT.TITLE |SWT.MODELESS |SWT.ON_TOP); 

我想这个对话框始终在最前面,但该对话框被最小化,当我尽量减少日食工作台。

我是否缺少一些与shell风格的位或这是预期的行为?

即使我们尽量减少eclipse应用程序,我怎样才能始终在顶部的对话框?

public class Capture extends Dialog { 

    public Capture(Shell parentShell) { 
     super(parentShell); 
     setShellStyle(SWT.CLOSE | SWT.TITLE |SWT.MODELESS |SWT.ON_TOP); 
    } 

} 
+0

'SWT.OP_TOP'是正确的标志,它告诉shell始终保持最佳状态,即使应用程序处于非活动状态,但它是_hint_,并且可能会被某些Windows系统忽略。我刚刚尝试[使用修改后的SWT代码片段](http://git.eclipse.org/c/platform/eclipse.platform.swt.git/plain/examples/org.eclipse.swt.snippets/src/org/eclipse /swt/snippets/Snippet50.java),它在Win7上按预期工作。你使用哪个窗口系统? – 2015-04-06 11:52:43

+0

只赢7次 - 但我使用的是Jface对话框,而您提到的片段使用SWT对话框。我已经添加了上面的代码。 – Amrit 2015-04-06 12:41:54

使用null父壳牌,这样的对话框是不是你最小化窗口的子窗口。

+0

谢谢格雷格!你可以请看看这个http://*.com/questions/29432507/reuse-project-explorer-view-for-your-custom-plugin-project – Amrit 2015-04-06 17:08:51

我没有足够的知名度评论。所以张贴这个答案。 这是什么parentShell?这决定了对话的生活和行为。创建一个新的shell或将null作为shell。这应该消除与工作台的关系。 另一个问题:为什么试图这样做?