Java en Eclipse: ¿Dónde pongo los archivos en el sistema de archivos que quiero cargar usando getResource? (por ejemplo, imágenes para un ImageIcon)

StackOverflow https://stackoverflow.com/questions/270197

Pregunta

Sé que el archivo debe estar donde getClass (). getResource (nombre de archivo) puede encontrarlo, pero no sé dónde está.

Estoy interesado tanto en dónde colocar los archivos en el sistema de archivos como en cómo utilizar la funcionalidad de Eclipse para configurar los recursos.

¿Fue útil?

Solución

Para Eclipse, generalmente todo lo que necesita hacer es configurar una carpeta en algún lugar dentro de su directorio de código fuente. Por ejemplo, si el directorio que contiene su fuente es / src , entonces puede crear una carpeta / src / resources para colocar sus imágenes / archivos. Luego, dentro de su clase usted haga un getResource (" /resources/image.png") para recuperarlo.

También puede colocar la imagen / archivo dentro de la misma carpeta / paquete que la clase que intenta acceder si lo desea (ejemplo: coloque image.png en el paquete com.mycompany con el com.mycompany.Foo clase que necesita acceder y llamar a getResource (" image.png ") ), pero he encontrado que es más fácil mantener recursos como imágenes y otros archivos en su propio directorio especial fuera de las carpetas de la clase: son más fáciles de administrar de esa manera.

En Eclipse, cada vez que realiza una compilación, los archivos dentro de este directorio de recursos se copiarán en su directorio de compilación junto con sus clases compiladas.

Es importante tener en cuenta que si tiene "Construir automáticamente" activa en Eclipse (como lo hace la mayoría de las personas) cualquier recurso en este directorio que se modifique fuera de Eclipse (es decir, edite una imagen usando una herramienta de edición de imágenes) que el IDE no siempre puede detectar este cambio. Por lo general, hacer una actualización en la carpeta del proyecto garantizará que el archivo se actualice en la compilación en estas situaciones.

Otros consejos

Puede colocarlos en la carpeta src junto con sus clases, o puede crear una nueva carpeta de origen para ese propósito (generalmente llamada resources ), aunque los ubicará de forma idéntica a partir del código.

Luego puede acceder a ellos utilizando getResource (" /com/x/y/foo.png") .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top