在EclipseRCP中正確的加載圖像文件

          Posted on 2005-11-29 19:21 nemo 閱讀(1376) 評論(1)  編輯  收藏 所屬分類: EclipseRCP/SWT/JFACE

          最近一位同事也在用RCP開發,對圖像文件的加載頭疼不已。
          想起幾個月前我在開發時也有類似的事情發生,于是簡單總結了一下,希望對大家有些用處。
          由于Eclipse RCP 需要面向不同的平臺,所以不能用一般的方法來加載圖元,我們可以使用ImageDescriptor類來對圖元進行加載。而且我們在加載完圖元之后,必須親自將圖元dispose掉,否則有可能會導致系統資源泄漏。
          實現方法一:

          1. Application文件中添加本工程的ID(String類型,只要與plugin.xml中的工程ID相同即可)
          2. 在想要獲得圖像文件的類中實現createImageDescriptorFor(String id)方法。

          具體實現如下:

          public ImageDescriptor createImageDescriptorFor(String id) //id表示圖形文件相對于本工程的默認路徑.

          {

          URL url = Platform.getBundle(pluginId).getEntry(id);//pluginId表示本工程的ID.
          return ImageDescriptor.createFromURL(url);

          }
          實現方法二:
          調用org.eclipse.ui.plugin.AbstractUIPlugin.imageDescriptorFromPlugin(String pluginId, String imageFilePath)方法。
          仍然需要定義pluginId。
          舉例:假設我們的圖像文件為本工程的/icons/image.gif。
          那么我們要加載圖元可以使用一下語句:
          Image image1 = org.eclipse.ui.plugin.AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, "/icons/image.gif");

          Feedback

          # re: 在EclipseRCP中正確的加載圖像文件  回復  更多評論   

          2006-09-01 16:14 by lovexiu111
          怎么樣加載eclipse自帶的圖元?
          是不是3.0和3.2版本的方式不一樣?

          posts - 21, comments - 74, trackbacks - 0, articles - 3

          Copyright © nemo

          主站蜘蛛池模板: 永川市| 麻阳| 雷州市| 马鞍山市| 西平县| 措美县| 永城市| 福海县| 化隆| 南汇区| 柳林县| 惠东县| 崇阳县| 长沙市| 泗水县| 灌南县| 张家港市| 宿松县| 维西| 怀化市| 和林格尔县| 荣成市| 磐安县| 宜兰县| 胶南市| 常州市| 余庆县| 农安县| 册亨县| 和顺县| 津南区| 鹤壁市| 若羌县| 建德市| 贵阳市| 澳门| 琼中| 莲花县| 襄樊市| 岑巩县| 石河子市|