【问题标题】:How to add a text box to a submenu with JFace MenuManager?如何使用 JFace MenuManager 将文本框添加到子菜单?
【发布时间】:2015-06-30 00:12:19
【问题描述】:

我想在菜单管理器中添加一个文本字段。我需要在我的子菜单中显示一个文本框而不是选项。谁能告诉我如何在子菜单中添加一个文本框。

代码:

IMenuManager submenu1 = new MenuManager("Enter Value"); 
submenu1.add(new Action("", SWT.BORDER) { @Override public void run() { } });
contextMenu.add(submenu1);

我想在这个子菜单中显示文本框

【问题讨论】:

  • 分享你尝试过的代码sn-ps。
  • @Daenarys 我试过上面的代码
  • @juhi,你真的需要使用 MenuManager 吗?可以直接用Menu吗?
  • @Basilevs 是的,我需要使用 Menumanager。但是无论如何我也想知道其他方法,所以你能告诉我直接使用菜单的方法吗?

标签: java swt jface


【解决方案1】:

恕我直言,无法将 SWT 控件(如 Combo、Text 等)添加为菜单项,但您可以将 SWT 控件添加为工具栏项。

检查文档here 它说

公共抽象类 ControlContribution 扩展 ContributionItem

用于将任意 SWT 控件添加到工具栏的抽象贡献项实现。 但请注意,这些项目不能添加到菜单栏。

createControl 框架方法必须由具体的子类实现。

查看此帖子Eclipse RCP application custom toolbar 了解如何将 SWT 控件添加为工具栏项。

【讨论】:

  • 链接文档是关于更高级别的 API
  • 问题是关于较低级别的 API,这个文档是无关紧要的,我的意思是,OP 没有义务使用这个类
  • @Basilevs 这就是我要说的没有 api 可以在主菜单/子菜单中添加文本框作为菜单项。该文档是相关的,因为使用它您可以将 Combo、Text 等 SWT 控件添加到工具栏,但不能作为菜单项。如果您知道任何此类 API,请将其发布为新答案
  • 谁能告诉我我的情况的替代解决方案?
  • 我认为您可以为此使用对话框。问一个单独的问题,添加您确切需要什么以及您想要实现什么的详细信息(如果可能的话,用一些草图)。 Stackoverflow 不建议对一个问题进行长时间的讨论。
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 2022-11-11
  • 2011-04-27
  • 2012-01-17
  • 1970-01-01
相关资源
最近更新 更多