在StyledCellLabelProvider
的子类中,我有这样的一行:
ImageDescriptor d = Activator.getImageDescriptor("/icons/sample.gif");
但是,变量d
始终为null
。奇怪的是,当我在plugin.xml
中指定完全相同的路径时,图像会在视图的左上角正确显示:
<view
name="Message"
allowMultiple="true"
icon="/icons/sample.gif"
class="com.myapp.views.EmailView"
id="com.myapp.gui.emailView">
</view>
我的项目中此图片的路径是<project>/icons/sample.gif
的标准位置,插件源代码位于<project>/src
。
令人沮丧的是,示例插件项目“RCP邮件模板”使用(成功)相同的函数来获取对ImageDescriptor
的引用:
ImageDescriptor d = Activator.getImageDescriptor("/icons/sample.gif");
我的插件配置是否会出现问题,导致以编程方式引用时无法找到图像?
答案 0 :(得分:8)
但是你的 getImageDescriptor
类和“RCP邮件模板”的Activator
类的静态Activator
方法是不同的。也许你在那里使用了不正确的插件ID?