Cargar imagen desde jarra y fuera de ella en eclipse
Tengo una estructura como esta en mi proyecto java en eclipse:
src / com / myprogram /.../ foo.javares / icon.png.proyecto...Sé que puedes cargar una imagen desde dentro de un frasco con
ImageIO.read(getClass().getResource("/res/icon.png"));
El problema surge cuando intenta ejecutar la aplicación con eclipse directamente ya que (supongo) la carpeta res no está dentro de la carpeta src, se obtiene unnull
URL
. Y quiero tener carpetas separadas para el código fuente y para los recursos.
Además, lo que he encontrado es que puedo agregarres
carpeta a class-path en eclipse para que pueda cargarla con:
URL url = getClass().getResource("/res/icon.png");
if (url == null)
url = getClass().getResource("/icon.png");
ImageIO.read(url);
Pero este código adicional solo es necesario cuando se desarrolla, y no me gusta hacer cosas como esta (el código debería ser lo más limpio y definitivo posible).
¿Se puede hacer algo para que el icono se lea con ambos métodos con el mismo código?