即使plugin.xml使用相同的图标路径,Activator.getImageDescriptor(path)也会返回null

时间:2011-12-04 12:07:19

标签: eclipse-plugin eclipse-rcp

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");

我的插件配置是否会出现问题,导致以编程方式引用时无法找到图像?

1 个答案:

答案 0 :(得分:8)

但是你的 getImageDescriptor类和“RCP邮件模板”的Activator类的静态Activator方法是不同的。也许你在那里使用了不正确的插件ID?