2012-12-03 10 views
11

Seguite le istruzioni here e here. Sto usando JDK 7u9 e NetBeans 7.2.1. Quello che ho fatto è stato creare l'intero percorso relativo alla cartella radice del mio progetto (C: \ Users \ Administrator \ Desktop \ icotest \ package \ windows \ icotest.ico). Ho provato entrambi con una dimensione 48x48 e 256x256. Ecco una panoramica albero per il mio progetto chiamato icotest:inclusa un'icona in un'applicazione JavaFX autonoma (.exe)

│ build.xml 
│ manifest.mf 
│ 
├───build 
│ │ built-jar.properties 
│ │ 
│ ├───classes 
│ │ └───icotest 
│ │   Main$1.class 
│ │   Main.class 
│ │ 
│ ├───empty 
│ └───generated-sources 
│  └───ap-source-output 
├───dist 
│ │ icotest.html 
│ │ icotest.jar 
│ │ icotest.jnlp 
│ │ 
│ └───web-files 
│   dtjava.js 
│   error.png 
│   get_java.png 
│   get_javafx.png 
│   javafx-chrome.png 
│   javafx-loading-100x100.gif 
│   javafx-loading-25x25.gif 
│   upgrade_java.png 
│   upgrade_javafx.png 
│ 
├───nbproject 
│ │ build-impl.xml 
│ │ genfiles.properties 
│ │ jfx-impl.xml 
│ │ project.properties 
│ │ project.xml 
│ │ 
│ ├───configs 
│ │  Run_as_WebStart.properties 
│ │  Run_in_Browser.properties 
│ │ 
│ └───private 
│  │ private.properties 
│  │ private.xml 
│  │ 
│  └───configs 
│    Run_as_WebStart.properties 
│    Run_in_Browser.properties 
│ 
├───package 
│ └───windows 
│   icotest.ico 
│ 
└───src 
    └───icotest 
      Main.java 

Questo è ciò che build.xml assomiglia:

<target name="-post-jfx-deploy"> 
    <fx:deploy verbose="true" nativeBundles="exe" outdir="${basedir}/${dist.dir}" outfile="${application.title}"> 
     <fx:application name="${application.title}" mainClass="${javafx.main.class}"/> 
     <fx:resources> 
      <fx:fileset dir="${basedir}/${dist.dir}" includes="*.jar"/> 
      <fx:fileset dir="${basedir}/${dist.dir}" includes="lib/*.jar"/> 
     </fx:resources> 
     <fx:info title="${application.title}" vendor="${application.vendor}"/> 
     <fx:preferences shortcut="true"/> 
    </fx:deploy> 
</target> 

Non importa quello che faccio - io ancora ricevere questo messaggio durante il processo dist build (che si attiva IS S) con la di debug bandiera impostata su true nel secondo file di build.xml: "Utilizzo delle risorse dei pacchetti di default [icona dell'applicazione] (aggiungere il pacchetto/windows/icotest.ico al percorso di classe per personalizzare)"

Qualche idea su cosa potrei fare male? Grazie.

+1

Questa persona sul forum Oracle JavaFX sembra avere lo stesso problema. https://forums.oracle.com/forums/message.jspa?messageID=10699476#10699476 – ytw

+0

Grazie per il link - che ha confermato che il tutorial ufficiale è leggermente disattivato e altre persone stanno avendo lo stesso problema. – XXL

risposta

11

Trovato rispostahere. Sembra che le linee guida pubblicate sul sito Web di Oracle stiano attualmente mismatching gli attuali scenari di distribuzione disponibili. In particolare, quando si ha a che fare con NetBeans, ant non si conosce la directory corrente che si presume sia il tuo progetto root. Come è stato suggerito nel thread del forum corrispondente, è sufficiente aggiungere la directory contenente il pacchetto "package/windows/$ {projectname} .ico" a ant e raccogliere la relativa risorsa, anche se il tutorial afferma che ciò dovrebbe accadere automaticamente a causa dell'esistente (?) aggiunta di '.' per lo script di compilazione.

todo

+0

Come acheive stessa cosa con Maven in eclissi ?? – Mubasher

+0

Anche questo è un vecchio post, ma c'è un problema con questo tipo di soluzione. Cosa succede se hai più di un progetto da costruire? Il classpath dovrebbe adattarsi a tutti i progetti? La risposta è no! Se si desidera rendere attivo il Netpath di Ant di Netbeans del classpath specificato in build.xml o include i file, è necessario inserire le proprietà 'build.sysclasspath = last', quindi si è completamente responsabili dell'installazione del classpath corretto in build .xml e include i file. Questo è stato discusso nel 2001 già qui: https://netbeans.org/bugzilla/show_bug.cgi?id=9527 – NwDev

16

Dopo tentativi ed errori e utilizzando XXL risposta inserisco un modo più chiaro di aggiungere la vostra icona personalizzata in un self JavaFX contenute. Sto usando Netbeans 7.3 JDK 1.7u17 1. Iniziare con la creazione di una cartella denominata pacchetto all'interno della cartella (ha lo stesso nome del progetto) che si trova nella directory src del progetto.

win 2. sotto il pacchetto cartella, creare le finestre delle cartelle e questo è dove potrete inserire il vostro personalizzato icon.please assicurare il nome del file ico è lo stesso come il nome dell'applicazione enter image description here Nota: questo avrebbe potuto essere fatto facilmente in NetBeans con la creazione di un nuovo pacchetto, ma per qualche ragione, NetBeans non permettere che la tua a nominare un nuovo 'pacchetto' pacchetto enter image description here

  1. Prossimo Inserisci il tuo aggiungere la directory contenente/package/windows /.ico per immobili clathpath Ant enter image description here
  2. Pulire & Generare il progetto e il risultato finale sarà simile a questa con la vostra icona personalizzata enter image description here
+0

lovely .......! – sanket

+1

Signore, sei un gentiluomo e uno studioso e ti amo per questo e vorrei averlo trovato prima di aver fatto la stessa domanda. Tuttavia, collegherò questa risposta alla mia domanda in modo tale che chiunque altro non riesca a esprimere correttamente una domanda possa per caso imbattersi in questa soluzione eloquente ed efficace. A te do la mancia al cappello e ti auguro una bella giornata. – Will

+0

Grazie mille. Ho ripetuto questi passaggi per Mac OS X, cambiando 'mediaplayer/package/windows' in' mediaplayer/package/macosx', ma non sono riuscito a ottenere l'icona nel pacchetto. Come soluzione alternativa, l'icona predefinita viene inclusa nella cartella 'resource' del pacchetto dell'app e può essere sostituita manualmente. –