1

我的要求是删除所有视图的标题图标,但这似乎是不可能的。

首先,我从 plugin.xml 文件中的 extension point="org.eclipse.ui.views" 中删除了对图标的引用。

有一个与此类似的问题,建议在扩展 ViewPart 的视图中覆盖 getTitleImage(),所以我这样做了,我尝试了 2 个版本。

@Override
public Image getTitleImage() {
    return null;
}

@Override
public Image getTitleImage() {
    return new Image(getSite().getShell().getDisplay(), new Rectangle(0, 0, 1, 1));
}

无论我使用哪种方法,结果都是某些视图不显示图标,而有些则显示。例如,第一个视图总是在没有图标的情况下打开,但以下视图使用默认图标。此外,如果我启用了保存和恢复并重新启动应用程序,同时保持一些视图处于打开状态,则选中的视图没有图标,而其他视图则没有图标。

这太令人沮丧了,我只是不明白为什么如此简单的事情必须如此复杂才能实现。

4

1 回答 1

2

我认为问题在于尚未创建的视图(因此getTitleImage尚未调用)。在这种情况下,如果视图定义中没有定义任何内容,那么工作台部件参考代码将使用默认图像。

如果上述方法正确,则创建一个空的图像图标文件并将其定义为org.eclipse.ui.views扩展名中的图标plugin.xml应该可以工作。

于 2013-10-01T13:46:17.417 回答