<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計軟件教程 > 關(guān)于插件中圖標(biāo)對象的獲取

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

      JSPlugin中取得照片的相關(guān)代碼要這樣寫:

      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. }  

       

      最終讀取圖標(biāo)對象在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.   }  

      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        亚洲国产第一福利一区二区 | 亚洲欧洲日产韩国夜夜高潮 | 黑人巨大亚州宗合在线 | 亚洲日本va一区二区三区 | 精品在线一区二区日韩国产精品 | 五月开心亚洲综合在线 |