【问题标题】:Appropriate object for typical window in EclipseEclipse中典型窗口的适当对象
【发布时间】:2016-04-02 10:35:24
【问题描述】:

我应该使用什么对象类型(例如 JFace、Shell、ApplicationWindow)来创建自己的窗口?

在我的插件中,此窗口将包含三个“面板”、许多组件以及最重要的是我希望它在顶部,直到它关闭 - 就像 Eclipse 中的任何其他窗口一样, 以便用户在关闭窗口之前无法在 IDE 中执行任何其他操作。 单击 Eclipse 菜单中的图标后,将启动该窗口。

【问题讨论】:

    标签: java eclipse plugins eclipse-plugin swt


    【解决方案1】:

    在以下教程中添加命令:http://www.vogella.com/tutorials/EclipseCommands/article.html 为打开 swt 小部件对话框的命令创建一个处理程序,该对话框是模态的。 (使用 SWT.APPLICATION_MODAL )使用您需要的复合材料填充对话框。

    【讨论】:

    • 您能解释一下为什么我应该使用模态对话框而不是Shell或其他组件吗?
    • 因为在您的问题中您提到:最重要的是我希望它位于顶部,直到它关闭 - 就像 Eclipse 中的任何其他窗口一样,这样用户就无法在 IDE 中执行任何其他操作直到他关上窗户。模态对话框在关闭之前不允许用户在父复合上做其他事情。
    【解决方案2】:

    如果您的意思是类似 Eclipse 的“查找/替换”对话框,它不会阻塞主窗口,请使用 JFace Dialog (org.eclipse.jface.dialogs.Dialog)。

    将对话框设置为无模式并关闭“打开时阻止”。

    这是查找/替换对话框的用途:

    public FindReplaceDialog(Shell parentShell) {
        super(parentShell);
    
        // .... other code ...
    
        setShellStyle(getShellStyle() ^ SWT.APPLICATION_MODAL | SWT.MODELESS);
        setBlockOnOpen(false);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2011-07-17
      • 2013-01-28
      • 1970-01-01
      • 2010-09-24
      • 2020-11-30
      相关资源
      最近更新 更多