2012-03-06 67 views
17

io siamo stati in grado di cambiare l'icona di esecuzione utilizzando this example come questoCome modificare l'icona del file jar eseguibile?

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

, ma c'è un modo per dire NetBeans per usare myIcon.png per il file jar eseguibile icona (MyProject/dist/MyProject.jar) ?

+1

se il progetto è basato su Java Desktop Aplication (JSR296), quindi non è possibile modificare direttamente Java cup Icon, questo metodo è privato, non accessibile dall'esterno, certo è possibile, ma è necessario un altro hack per il resto del contenitore cca 300 use_less code lines solo per JFrame's Icon – mKorbel

+1

per impostazione predefinita ogni framework della GUI ha i suoi limiti contro il codice di scrittura da parte delle tue mani – mKorbel

+0

Adobe ha capito come impostare l'icona per i loro file, quindi è possibile. Penso che questo problema sia il motivo più importante che i jar eseguibili (senza wrapper) non hanno catturato Windows. –

risposta

7

Un involucro di lancio è la soluzione, io uso Launch4J, un cross-platform involucro leggero

launch4j website

+2

* "multipiattaforma" * come in: puoi utilizzarlo nel tuo processo di compilazione su qualsiasi piattaforma, ma crea un eseguibile solo per Windows, giusto? – Arjan

+2

non cambia icona .jar file. Crea file .exe da .jar (e solo così puoi impostare l'icona per .exe) – Tomasz

+0

@Tomek Lo fanno ora. Segui il link. –

7

È possibile utilizzare JSmooth per creare file java eseguibili e associare anche l'icona ad esso.

+2

+1 bel wrapper, ma la mia app deve funzionare su host non Windows. – jacknad

+1

Sembra buono, ma come @jacknad ha detto che è solo per gli host Windows (che va bene), ma la cosa più importante per me è che non è stato in sviluppo attivo per poco più di 5 anni. – Kingsolmn

1

Una possibilità su Mac è quello di utilizzare questa linea:

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

E impostare la vostra icona per il dock. Non posso testarlo per ora, non sto lavorando su un Mac ma provalo e aggiornami.

+0

Vedere anche [questa risposta] (http://stackoverflow.com/questions/11253772/impostare-il-predefinito-applicativo-icon-image-in-java-swing-on-os-x/29652666#29652666) per garantire le cose non falliscono su macchine non OS X. (E ciò richiede che la compilazione venga eseguita su un Mac.) – Arjan

2

No, non c'è, perché l'icona è determinato da Java. L'unico modo per farlo (almeno per Windows) è utilizzare il wrapper come launch4j e quindi impostare il percorso dell'icona. Se hai già un exe con o senza icona sbagliata, puoi usare Recource Hacker e poi seguire i turerial su come cambiare icona. Altrimenti, non è possibile modificare l'icona di .jar

+0

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

1

Come noto, non è possibile modificare l'icona .jar perché se si desidera farlo, è necessario modificare tutti i file .jar nel sistema operativo. Comunque, una soluzione è possibile. È possibile creare un collegamento per .jar e quindi è possibile modificarlo: Pulsante destro >> Proprietà >> Cambia icona.

enter image description here

P.S. Il file dell'icona dovrebbe essere un .ico, quindi puoi usare molti siti per la conversione in estensione .ico se l'immagine ne ha un'altra.

Alternativa 1: È anche possibile utilizzare Launch4j, è il modo più semplice per generare file eseguibile dell'applicazione.

Problemi correlati