Installation 将图标包含到自包含的JavaFX应用程序(.exe)中
按照指示进行操作,并进行检查。我使用的是jdk7u9和netbeans7.2.1。我所做的是创建相对于项目根文件夹(C:\Users\Administrator\Desktop\icotest\package\windows\icotest.ico)的整个路径。我用48x48和256x256两种尺寸都试过了。下面是我的名为icotest的项目的树概览:Installation 将图标包含到自包含的JavaFX应用程序(.exe)中,installation,icons,native,javafx-2,Installation,Icons,Native,Javafx 2,按照指示进行操作,并进行检查。我使用的是jdk7u9和netbeans7.2.1。我所做的是创建相对于项目根文件夹(C:\Users\Administrator\Desktop\icotest\package\windows\icotest.ico)的整个路径。我用48x48和256x256两种尺寸都试过了。下面是我的名为icotest的项目的树概览: │ build.xml │ manifest.mf │ ├───build │ │ built-jar.properties │
│ 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的外观:
无论我做什么-在dist build过程中(激活ISS),我仍然会收到此消息,并在相应的build.xml文件中将debug标志设置为true:“使用默认包资源[应用程序图标](将package/windows/icotest.ico添加到类路径以进行自定义)
知道我可能做错了什么吗?谢谢。找到了答案。看来Oracle网站上发布的指南目前与实际可用的部署方案不匹配。也就是说,在处理NetBeans时,ant不知道假定为您的roo的当前目录正如在相应的论坛线程中所建议的,只需将包含“package/windows/${projectname}.ico”的目录添加到ant的类路径中,它就会获取相关的资源,即使教程声称由于现有(?)的原因,这应该会自动发生将“”添加到生成脚本中。
经过反复试验和使用XXL answer后,我发布了一个更清晰的方法,可以将自定义图标添加到JavaFX自足中。顺便说一句,我使用的是Netbeans 7.3 JDK 1.7u17 1.首先在项目src目录中找到的文件夹(与项目同名)内创建一个名为package的文件夹 2.在文件夹包下,创建文件夹窗口,这是放置自定义图标的位置。请确保.ico文件的名称与应用程序名称相同 注意:在netbeans中创建一个新的包可以很容易地做到这一点,但由于某些原因,netbeans不允许您将新包命名为“package”
Oracle JavaFX论坛上的这个人似乎也有同样的问题。感谢你的链接-它确认了官方教程有点不对劲,其他人也有同样的问题。如何在eclipse中实现maven的相同功能?即使这是一篇老文章,但这类解决方案存在问题。如果你有超过要构建一个项目?类路径是否适合所有项目?答案是否定的!如果您想让Netbeans internal Ant知道build.xml中给定的类路径或包含的文件,您必须输入properties
build.sysclasspath=last
,然后您完全负责在build.xml和i.xml中设置正确的类路径包括文件。这在2001年已经在这里讨论过了:先生,您是一位绅士和学者,我爱您,我希望在我问同样的问题之前找到它。不过,我将把这个答案与我自己的问题联系起来,这样,任何不能正确表达问题的人都可能偶然发现这个雄辩而有效的问题解决方案。我向你致敬,祝你度过美好的一天。非常感谢。我为Mac OS X重复了这些步骤,将mediaplayer/package/windows
更改为mediaplayer/package/macosx
,但仍然无法将图标放入包中。作为一种解决方法,默认图标将包含在应用程序包的资源中呃,可以手动替换。对于Mac OS X,您必须创建一个.icns文件(例如MyApp.icns)。对于使用e(fx)clipse的用户,当您右键单击build.xml并选择Ant build…(带三个点)时,可以设置上面提到的类路径。终于出现了我的图标。此外,当第一次单击build.fxbuild打开启用详细构建模式时,可以打开调试
<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>