按照说明here和here进行操作。我使用的是 JDK 7u9 和 NetBeans 7.2.1 。我所做的是创建相对于项目的根文件夹的整个路径( C:\ Users \ Administrator \ Desktop \ icotest \ package \ windows \ icotest.ico )。我尝试了48x48和256x256两种尺寸。这是我的项目的树概述,名为 icotest :
│ 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
这是 build.xml 的样子:
<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>
无论我做什么 - 我仍然会在 dist build 进程(激活 ISS )时收到此消息,并设置 debug 标志在 build.xml 文件中 true :“使用默认包资源[应用程序图标](将包/ windows / icotest.ico添加到要自定义的类路径)”
知道我可能做错了什么吗?谢谢。
答案 0 :(得分:16)
经过反复试验并使用XXL回答后,我发布了一个更清晰的方法,将自定义图标添加到自包含的JavaFX中。顺便说一句,我使用的是Netbeans 7.3 JDK 1.7u17 1.首先在项目src目录中的文件夹(与项目同名)中创建一个名为package的文件夹。
2.在文件夹包下,创建文件夹窗口,这是您放置自定义图标的位置。请确保.ico文件的名称与应用程序名称相同 注意:这可以通过创建新包在netbeans中轻松完成,但出于某种原因,netbeans不允许您为新包命名“package”
答案 1 :(得分:11)
找到回答 here。看来Oracle网站上发布的指南目前与可用的实际部署方案不匹配。也就是说,在处理 NetBeans 时, ant 并不知道当前被认为是您的根项目的目录。正如在相应的论坛帖子中所建议的那样 - 只需将包含“package / windows / $ {projectname} .ico”的目录添加到 ant 的类路径中,它就会获取相关资源,即使教程声称由于现有(?)将'。添加到构建脚本,这会自动发生。