亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 關于插件中圖標對象的獲取

關于插件中圖標對象的獲取
2010-01-14 22:54:20  作者:  來源:
默認情況下,插件只能取得gif格式的圖片,有時候我們需要獲取其他格式的圖片,這里就需要自己來寫了,最近從另外一個插件aptana下發(fā)現(xiàn)它在獲取非gif格式圖片的一些做法,值得參考
在需要使用圖標的地方,需要這樣寫:
java 代碼
 
  1. private static Image fIconFirefox = JSPlugin.getImage("icons/firefox_icon.png");  

JSPlugin中取得照片的相關代碼要這樣寫:

java 代碼
 
  1. /**  
  2.  * Returns an image descriptor for the image file at the given  
  3.  * plug-in relative path.  
  4.  *  
  5.  * @param path the path  
  6.  * @return the image descriptor  
  7.  */  
  8. public static ImageDescriptor getImageDescriptor(String path) {   
  9.     return AbstractUIPlugin.imageDescriptorFromPlugin("com.bstek.ide.js.editor", path); //$NON-NLS-1$   
  10. }   
  11.   
  12. private static Hashtable images = new Hashtable();   
  13.   
  14. /**  
  15.  * getImage  
  16.  *   
  17.  * @param path  
  18.  * @return Image  
  19.  */  
  20. public static Image getImage(String path)   
  21. {   
  22.     if (images.get(path) == null)   
  23.     {   
  24.         ImageDescriptor id = getImageDescriptor(path);   
  25.         if (id == null)   
  26.         {   
  27.             return null;   
  28.         }   
  29.   
  30.         Image i = id.createImage();   
  31.         images.put(path, i);   
  32.         return i;   
  33.     }   
  34.     else  
  35.     {   
  36.         return (Image) images.get(path);   
  37.     }   
  38. }  

 

最終讀取圖標對象在AbstractUIPlugin.imageDescriptorFromPlugin()方法中實現(xiàn)

java 代碼
 
  1.   /**  
  2.    * Creates and returns a new image descriptor for an image file located  
  3.    * within the specified plug-in.  
  4.    * <p>  
  5.    * This is a convenience method that simply locates the image file in  
  6.    * within the plug-in (no image registries are involved). The path is  
  7.    * relative to the root of the plug-in, and takes into account files  
  8.    * coming from plug-in fragments. The path may include $arg$ elements.  
  9.    * However, the path must not have a leading "." or path separator.  
  10.    * Clients should use a path like "icons/mysample.gif" rather than   
  11.    * "./icons/mysample.gif" or "/icons/mysample.gif".  
  12.    * </p>  
  13.    *   
  14.    * @param pluginId the id of the plug-in containing the image file;   
  15.    * <code>null</code> is returned if the plug-in does not exist  
  16.    * @param imageFilePath the relative path of the image file, relative to the  
  17.    * root of the plug-in; the path must be legal  
  18.    * @return an image descriptor, or <code>null</code> if no image  
  19.    * could be found  
  20.    * @since 3.0  
  21.    */  
  22.   public static ImageDescriptor imageDescriptorFromPlugin(String pluginId,   
  23.           String imageFilePath) {   
  24.       if (pluginId == null || imageFilePath == null) {   
  25.           throw new IllegalArgumentException();   
  26.       }   
  27.   
  28.       // if the bundle is not ready then there is no image   
  29.       Bundle bundle = Platform.getBundle(pluginId);   
  30.       if (!BundleUtility.isReady(bundle)) {   
  31.     return null;   
  32. }   
  33.   
  34.       // look for the image (this will check both the plugin and fragment folders   
  35.       URL fullPathString = BundleUtility.find(bundle, imageFilePath);   
  36.       if (fullPathString == null) {   
  37.           try {   
  38.               fullPathString = new URL(imageFilePath);   
  39.           } catch (MalformedURLException e) {   
  40.               return null;   
  41.           }   
  42.       }   
  43.   
  44.       if (fullPathString == null) {   
  45.     return null;   
  46. }   
  47.       return ImageDescriptor.createFromURL(fullPathString);   
  48.   }  

安徽新華電腦學校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 亚洲成人免费网站 | 精品国产髙清在线看国产毛片 | 伊人狠狠干 | 欧美精品理论片大全 | 成人片免费看 | 国产在线三区 | 91看片网 | 中文字幕第七页 | 91干在线观看 | 久热精品国产 | 亚洲一区中文字幕永久在线 | a性片| 免费视频一区二区 | 毛片网站大全 | 久久亚洲欧美日韩精品专区 | 国产伦精品一区二区三区四区视频 | 成人影院网站ww555久久精品 | 久久成人一区二区 | 在线观看国产一区 | 午夜小视频在线观看 | 精品久久久久一区二区国产 | 日韩视频精品在线 | 一区二区三区精品 | caoporon| 亚洲国产精品久久久久久 | 久久激情网 | 青青草久草在线 | 免费在线精品视频 | 亚洲美女在线视频 | 欧美日韩一区二区视频在线观看 | 2020国产在线 | 日本在线黄色 | 欧洲免费毛片 | 国精品一区 | 国产精品69毛片高清亚洲 | 国产精品一二三区视频 | 国产一级做a爰片在线看免费 | 日本爱爱| 亚洲国产精品99久久久久久久久 | 成人国产精品一级毛片视频 | 亚洲日韩欧美一区二区在线 |