2012-03-06 16 views
17

que han sido capaces de cambiar el icono de tiempo de ejecución usando this example como esto¿Cómo cambiar el icono del archivo jar ejecutable?

getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage(getClass() 
.getClassLoader().getResource("MyProject/resources/myIcon.png"))); 

pero ¿hay una manera de contar NetBeans para utilizar myIcon.png para el archivo jar ejecutable icono (MiProyecto/dist/MyProject.jar) ?

+1

si su proyecto está basado en Java Desktop Application (JSR296), entonces no es posible cambiar el icono Java cup directamente, este método es privado, no es accesible desde afuera, seguro es posible, pero requiere otro hacks para el resto del contenedor cca 300 use_less líneas de código solo para el icono de JFrame – mKorbel

+1

de forma predeterminada cada marco de la GUI tiene sus limitaciones contra el código de escritura de sus manos – mKorbel

+0

Adobe ha descubierto cómo configurar el icono para sus archivos, por lo que es posible. Creo que este es el motivo más importante por el que los archivos jar ejecutables (sin envoltorios) no han sido detectados en Windows. –

Respuesta

7

Una envoltura de lanzamiento es la solución, yo uso launch4j, una plataforma cruzada envoltura ligera

launch4j website

+2

* "plataforma cruzada" * como en: puede usarlo en su proceso de compilación en cualquier plataforma, pero crea un ejecutable solo para Windows, ¿no? – Arjan

+2

no cambia el icono de archivo .jar. Crea el archivo .exe de .jar (y solo entonces puede establecer el icono para .exe) – Tomasz

+0

@Tomek Lo hacen ahora. Sigue el link. –

7

Puede usar JSmooth para crear un archivo java ejecutable y también asociar un icono a él.

+2

+1 buen contenedor, pero mi aplicación debe funcionar en hosts que no sean Windows. – jacknad

+1

Se ve bien, pero como @jacknad dijo que es solo para los hosts de Windows (lo cual está bien), pero lo más importante para mí es que no ha estado en desarrollo activo durante un poco más de 5 años. – Kingsolmn

1

Una posibilidad en mac es el uso de esta línea:

com.apple.eawt.Application.getApplication().setDockIconImage(new ImageIcon(getClass().getResource("resources/appIcon.png")).getImage()); 

que se había fijado el icono para el muelle. No puedo probarlo por ahora, no estoy trabajando en una Mac, pero pruébalo y ponme al día.

+0

Vea también [esta respuesta] (http://stackoverflow.com/questions/11253772/setting-the-default-application-icon-image-in-java-swing-on-os-x/29652666#29652666) para asegurar las cosas no fallan en máquinas que no sean OS X. (Y esto necesita que la compilación se realice en una Mac.) – Arjan

2

No, no lo es, ya que el icono está determinada por Java. La única manera de hacerlo (al menos para Windows) es usar un contenedor como launch4j y luego establecer la ruta del icono. Si ya tiene el exe envuelto sin icono o con el ícono incorrecto, puede usar Recource Hacker y luego seguir las instrucciones sobre cómo cambiar el ícono. De lo contrario, no puede cambiar el icono .jar

+0

'Plus One' para ** Resource Hacker ** – fWd82

1

Como es conocido, no es posible cambiar el icono .jar porque si lo desea debe cambiar todos los archivos .jar de su sistema operativo. De todos modos, una solución es posible. Puede crear un acceso directo para .jar y luego puede cambiarlo: Botón derecho >> Propiedades >> Cambiar icono.

enter image description here

P. S. El archivo de icono debe ser .ico, por lo que puede usar muchos sitios para la conversión en la extensión .ico si su imagen tiene otra.

Alternativa 1: Puede usar también Launch4j, es la manera más simple de generar un archivo ejecutable de aplicación.

Cuestiones relacionadas