【问题标题】:Eclipse e4 RCP - setting titlebar text at runtimeEclipse e4 RCP - 在运行时设置标题栏文本
【发布时间】:2015-01-27 04:58:08
【问题描述】:

我希望能够在运行时更改标题栏文本。通常我想在我的应用程序打开文件时执行此操作,以便在标题栏中显示应用程序名称 - 文件名。

我读到有人使用ApplicationWorkbenchWindowAdvisor 获取IWorkbenchWindowConfigurer,然后使用它来设置标题,但我实际上不知道在哪里或如何获取ApplicationWorkbenchWindowAdvisor ,甚至这是否是我需要编写的课程。

目前,标题仅通过我的 plugin.xml 中的 appName 属性设置。

有人可以举个例子吗?

【问题讨论】:

  • 这是纯e4应用吗(你使用的是Application.e4xmi,没有兼容层)?您提到的所有内容都是旧式 3.x API。
  • 是的,它是纯 e4。我想这就是为什么它对我没有多大意义!

标签: rcp e4


【解决方案1】:

您可以通过在应用的顶层MWindow 上设置标签来做到这一点:

@Inject
MApplication application;
@Inject
EModelService modelService;

....

MWindow window = (MWindow)modelService.find("id of your top window", application);

window.setLabel("new label");

【讨论】:

  • 感谢您的回答,但modelService.find 方法似乎需要一个 String id 和一个 MUIElement 对象。第二个参数应该是什么?
【解决方案2】:

使用 EModelService 通过 ID 查找 MWindow 的替代方法是使用注入。这样,它将在执行操作的控件的上下文中找到父窗口(并且是活动的,尽管这可能是多余的)(在您的情况下为 File-Chooser):

@Inject
@Active
private MWindow window;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多