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

          Posted on 2005-11-29 19:21 nemo 閱讀(1372) 評論(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

          主站蜘蛛池模板: 河北省| 康平县| 休宁县| 抚顺市| 平昌县| 称多县| 阿勒泰市| 正镶白旗| 普兰店市| 武乡县| 泰宁县| 西乌珠穆沁旗| 苏州市| 新巴尔虎左旗| 青冈县| 白水县| 宣汉县| 锦州市| 安塞县| 高淳县| 腾冲县| 兰西县| 柘城县| 台东县| 广德县| 仁布县| 昭苏县| 高安市| 连州市| 万山特区| 嘉定区| 平顶山市| 德保县| 泾阳县| 体育| 台湾省| 西吉县| 炉霍县| 布拖县| 丽水市| 河北省|