Accesso a recursos del plugin
Cómo acceder a recursos (imágenes, cartografía, etc) del plugin
Es frecuente que los plugins incluyan diversos recursos (normalmente imágenes, tal vez algún fichero XML, cartografía en algún plugin especial...). A la hora de acceder a ellos, no debemos usar rutas absolutas ni tampoco rutas relativas que incluyan el nombre del plugin, ya que eso es poco portable (un cambio en el nombre del plugin provocaría que el código dejase de funcionar). Lo correcto es acceder a ellos usando una ruta relativa al directorio raíz del plugin. Cada plugin tiene asociado un PluginClassLoader que es capaz de cargar recursos usando rutas relativas al directorio raíz del plugin. Para acceder a dicho ClassLoader, tenemos varias opciones: .. code-block:: java PluginServices ps = PluginServices.getPluginServices(this); PluginClassLoader loader = ps.getClassLoader(); o bien .. code-block:: java ClassLoader loader = this.getClass().getClassLoader(); Una vez tengamos el ClassLoader, usaremos el método *getResource()* para obtener una URL con la ruta absoluta del recurso. Por ejemplo, supongamos que queremos cargar una imagen llamada *close.png* que está en el subdirectorio *images* de nuestro plugin. Es decir, la imagen está en *gvSIG/extensiones/org.gvsig.miplugin/images/close.png* y por tanto la ruta relativa al directorio raíz del plugin sería *images/close.png*. Para acceder a ella usaríamos: .. code-block:: java URL imageURL = loader.getResource("images/close.png"); if (imageURL!=null) ImageIcon icon = new ImageIcon(imageURL);