SWT / JFace:禁用滚动窗体中工具栏项的焦点

时间:2015-01-06 15:53:38

标签: java swt eclipse-rcp jface

我在表单编辑器页面中有一个ScrolledForm实例,当我向此表单添加一个工具栏项时,它总是获得焦点(蓝色背景):

...
import org.eclipse.ui.forms.editor.FormPage;
...

class ModelPage extends FormPage {

  ...

  @Override
  protected void createFormContent(IManagedForm mform) {
      Action action = …
      ScrolledForm form = mform.getForm();
      IToolBarManager toolbar = form.getToolBarManager();
      toolbar.add(action);
      toolbar.update(true);
      ...
  }

  @Override
  public void setFocus() {
      // this does not work
      someText.setFocus();
  }
}

是否有一种简单的方法可以从这个项目中删除焦点?我可以通过将焦点设置为侦听器中的其他控件来完成此操作,但这不是很好(该项似乎始终在激活编辑器页面时获得焦点)。我无法设置样式标志SWT.NO_FOCUS,因为工具栏已由表单创建,对吧?

感谢您的帮助

0 个答案:

没有答案