He buscado un método para incrustar un recurso en un proyecto Java (usando Eclipse v3.6.0) y luego usar ese recurso incrustado dentro de un control (por ejemplo, JLabel
). He visto métodos de referencia de recursos del sistema de archivos. Una vez que se haya desarrollado el proyecto, me gustaría publicar la aplicación como ejecutable. Cabe señalar que estos ejecutables se implementarán/lanzarán a plataformas Windows, * NIX y Linux.Incrustar recursos (imágenes, bits de sonido, etc.) en un proyecto Java y luego usar esos recursos
Sé que esto se puede hacer en el mundo de Visual Studio, pero no estoy muy familiarizado con cómo hacerlo en Java/Eclipse IDE. Como una pregunta complementaria, ¿cómo consigo Eclipse para crear el proyecto como un ejecutable para que pueda ser lanzado?
Cualquier ayuda es muy apreciada.
Marcos
ACTUALIZACIÓN 1:
En base a BalusC's response, quería compartir el código que tengo que resolver mi problema. Mis clases están bajo el paquete de "Viking.Test
" y luego coloqué el archivo de imagen bajo el paquete "Viking.Test.Resources
". Todo esto se hace dentro de Eclipse para importar la imagen en el proyecto.
- Importé la imagen haciendo clic derecho sobre el Proyecto -> Importar -> General/Sistema de archivo para el origen de la importación.
- seleccionado la carpeta que contenía la imagen para importar
- seleccionada "
Project/src/Viking/Test/Resources
" para el 'en la carpeta' parámetro - no cambió ninguna de las opciones y hacer clic "terminado"
En el archivo de origen que añade el siguiente código para insertar la imagen en un JLabel
(LblLogo
)
try
{
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream(
"Viking/Test/Resources/MyImage.jpg");
Image logo = ImageIO.read(input);
LblLogo = new JLabel(new ImageIcon(logo));
LblLogo.setBounds(20, 11, 210, 93);
getContentPane().add(LblLogo);
}
catch (IOException e) { }
Gracias BalusC, lo tengo trabajando. Lo extraño es que el Proyecto Java con clic derecho -> Exportar -> Archivo JAR ejecutable funciona en una máquina, pero no en la otra.La máquina que no funciona puede emitir el comando "java -jar MyJarFile.jar" y se ejecutará. Durante la exportación, si selecciono "Package required libraries into generated JAR" aparece el mensaje de error "No se pudo encontrar la clase principal. Program se cerrará". Necesito averiguar por qué y no lo entiendo en absoluto. – lordhog
Algunas cosas han cambiado desde Eclipse 3.5. ¿Qué versión se está ejecutando en las máquinas? Lo más fácil es ejecutarlo una vez usando Ctrl + F11 para que se guarde como la última configuración * Ejecutar como * que puede elegir durante la exportación. – BalusC
Bien, en mi casa estaba ejecutando Java v6 Update 21 y Java v6 Update 20 en el que no funcionó. No veo por qué eso podría causar preocupaciones, pero desinstalé Java y reinstalé Java. Después de volver a instalar Java, pude hacer doble clic y se ejecutó el archivo jar. Guay. No estoy seguro de cuál fue el problema. Ahora, la otra preocupación es que, incluso cuando cierro la ventana, todavía se está ejecutando una instancia de 'javaw.exe'. Chico, tengo que acostumbrarme a esta cosa de Java. Gracias por toda la ayuda BalusC! – lordhog