java - TrayDialog 中的 SWT 帮助按钮

标签 java eclipse dialog swt jface

我有一个扩展 TrayDialog 的类,并且有一个帮助按钮。我设置了以下内容:

setDialogHelpAvailable(true);
setHelpAvailable(true);

而且我找不到如何实现左下角的“帮助”按钮。我试过了

@Override
protected void buttonPressed(int buttonId) {
    super.buttonPressed(buttonId);
    if(buttonId == IDialogConstants.HELP_ID) {
        System.out.println("Help requested");
    }
}

但是这不起作用。我见过Can't put content behind SWT Wizard Help Button但我没有 PerformHelp() 方法,因为我不在向导中。

我在这里缺少什么?谢谢

最佳答案

按下帮助按钮时,TrayDialog 会查找带有 SWT.Help 监听器的控件。它从当前聚焦的控件开始,向上移动到控件的父级,直到找到具有监听器的控件(或用完控件)。

您可以使用以下命令设置连接到 Eclipse 帮助系统中“帮助上下文”的帮助监听器

PlatformUI.getWorkbench().getHelpSystem().setHelp(control, "context-id");

或者您可以编写自己的帮助监听器。

关于java - TrayDialog 中的 SWT 帮助按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24041022/

相关文章:

java - Eclipse maven 构建编译器失败 - 无堆栈跟踪

android - 应用程序/Activity 启动时显示对话框

java - Java 中文字的数据类型/文字算术运算的结果

java - 加载栏不重画java

java - 非常奇怪的NoClassDefFoundError

eclipse - 我的eclipse没有导入gradle功能?

java - Maven依赖问题

android - 在android上创建确认对话框类

mvvm - 使用MVVM Light工具箱显示对话框

java - 在同一功能中将用户从一种布局重定向到另一种布局 - java thymeleaf spring