[英]Creating a desktop icon using JWS JNLP for a JavaFX app
我正在尝试为我的应用程序显示一个自定义destop图标,但由于某些原因,无论我做什么,都会显示相同的默认java图标。 我已经尝试了所有我能想到的东西,并将我的jnlp文件与其图标似乎正常工作的其他人进行了比较。 根据我读过的所有内容,以下内容应该可以正常工作。 但当然,它没有:
<information>
<title>MikesApp</title>
<vendor>Mike</vendor>
<homepage href="http://www.mikesapp.com/"/>
<description>Mikes App.</description>
<icon kind="shortcut" href="res/icon64x64.png" width="64" height="64"/>
<offline-allowed/>
<shortcut>
<desktop/>
</shortcut>
</information>
任何想法将不胜感激。
我会按顺序尝试以下方法:
<icon kind="shortcut"...
规范说大小用于桌面图标。 使用64x64图标作为“默认”。 例如,您的新<icon>
元素将是:
<icon href="res/icon64x64.png" width="64" height="64"/> <icon kind="shortcut" href="res/icon32x32.png" width="32" height="32"/> <icon kind="shortcut" href="res/icon64x64.png" width="64" height="64"/>
请记住,您的图像是相对于jnlp
xml元素中的codebase
属性访问的
如果这些都不起作用,欢迎您将您的JNLP与我的 JNLP进行比较。
我意识到这个JNLP的东西是一种痛苦。 希望其中一个为你工作。
我们遇到了同样的问题。 它最初工作得很好然后随着时间的推移(一些Java更新?)它停止工作。 当我开始排除故障时,我发现即使javaws发送它是gzip能力的,我们的gzip响应也没有得到处理。 我为这些图标关闭了gzip,它再次正常工作。
我想你的案例中的问题是缺少CODEBASE属性。 查看一个工作片段:
<?xml version="1.0"?>
<jnlp spec="1.5+"
codebase="http://www.sweethome3d.com/"
href="SweetHome3D.jnlp">
<information>
<title>Sweet Home 3D</title>
<vendor>eTeks</vendor>
<homepage href="http://www.sweethome3d.com/"/>
<description>Sweet Home 3D</description>
<description kind="short">Arrange the furniture of your house</description>
<icon href="SweetHome3DIcon.gif"/>
<icon kind="splash" href="SweetHome3DSplashScreen.jpg"/>
<offline-allowed/>
<shortcut online="false">
<desktop/>
<menu submenu="eTeks Sweet Home 3D"/>
</shortcut>
<association extensions="sh3d sh3l sh3f sh3t sh3p"
mime-type="application/SweetHome3D"/>
</information>
我恐怕没有具体的答案,但Project MaiTai是一个用JavaFX编写的开源应用程序,它有一个自定义桌面图标。
如果你还没有这样做,也许检查MaiTai的JNLP代码会给你一些指示。
如果您有权访问JavaFX in Action手册中有一个如何执行此操作的示例。 您需要确保res / icon64x64.png文件实际上可以从托管应用程序的任何站点下载,相对于JNLP的位置。 尝试直接在浏览器中加载它以确保其可用/有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.