【问题标题】:SWT Help button in TrayDialogTrayDialog 中的 SWT 帮助按钮
【发布时间】:2014-06-04 15:04:19
【问题描述】:

我有一个扩展 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() 方法,因为我不在向导中。

我在这里缺少什么?谢谢

【问题讨论】:

    标签: java eclipse dialog swt jface


    【解决方案1】:

    当按下帮助按钮时,TrayDialog 会查找带有SWT.Help 侦听器的控件。它从当前获得焦点的控件开始,向上遍历控件的父控件,直到找到带有侦听器的控件(或用完控件)。

    您可以设置一个帮助侦听器,该侦听器连接到 Eclipse 帮助系统中的“帮助上下文”,使用

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

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

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,只需将HelpListener 添加到我的一个控件即可解决:

      Composite area.addHelpListener(new HelpListener() { 
      
          @Override public void helpRequested(HelpEvent e) { 
              System.out.println("This is the help info"); 
          }
      });
      

      并将以下内容添加到我的构造函数中:

      setDialogHelpAvailable(true);
      

      【讨论】:

        猜你喜欢
        • 2015-12-02
        • 2011-08-10
        • 2011-11-11
        • 2010-11-27
        • 1970-01-01
        • 2011-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多