2011-12-04 63 views
3

相同的路徑在StyledCellLabelProvider一個子類,我有這樣一行:Activator.getImageDescriptor(路徑)返回null即使plugin.xml中利用圖標的

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

莫不是我的插件配置一些錯誤,會導致圖像以編程方式引用時找不到?

回答

6

靜態getImageDescriptor方法您Activator級和「RCP郵件模板」的Activator類是不同的。也許你在那裏使用不正確的插件ID?

+1

你說得對。我的Activator類中的'PLUGIN_ID'字段與我在插件的Overview標籤中指定的ID(即MANIFEST.MF文件中的Bundle-SymbolicName字段)不同步。 – kostmo

相關問題