Personal tools
You are here: Home Development Documents gvSIG desktop 1.0 / 1.1 gvSIG Andami Servicios a los plugins Accesso a recursos del plugin
Document Actions

Accesso a recursos del plugin

by César Martínez Izquierdo last modified 2010-06-01 22:45

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);

View source document


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: