使用JWS JNLP为JavaFX应用程序创建桌面图标
我正在尝试为我的应用程序显示一个自定义的destop图标,但由于某种原因,无论我做什么,都会显示相同的默认java图标。我已经尝试了我能想到的一切,并将我的jnlp文件与其他图标正常的文件进行了比较。根据我所读到的一切,以下内容应该可以很好地工作。但当然,它没有:使用JWS JNLP为JavaFX应用程序创建桌面图标,java,javafx,java-web-start,Java,Javafx,Java Web Start,我正在尝试为我的应用程序显示一个自定义的destop图标,但由于某种原因,无论我做什么,都会显示相同的默认java图标。我已经尝试了我能想到的一切,并将我的jnlp文件与其他图标正常的文件进行了比较。根据我所读到的一切,以下内容应该可以很好地工作。但当然,它没有: <information> <title>MikesApp</title> <vendor>Mike</vendor> <homepage hr
<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>
米凯萨普
迈克
Mikes应用程序。
任何想法都将不胜感激。我恐怕没有具体的答案,但这是一个用JavaFX编写的开源应用程序,它有一个自定义的桌面图标
如果您还没有这样做,那么检查MaiTai的JNLP代码可能会给您一些提示。如果您有权访问JavaFX in Action book,那么在JavaFX in Action book中有一个如何执行此操作的示例。您需要确保res/icon64x64.png文件实际上可以从应用程序所在的任何站点(相对于JNLP的位置)下载。请尝试直接在浏览器中加载它,以确保其可用/有效。我将按顺序尝试以下操作:
,我想您的问题在于缺少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>
甜蜜家园3D
埃特克斯
甜蜜家园3D
整理你家的家具
我们也遇到了同样的问题。最初它工作得很好,但随着时间的推移(一些Java更新?)它停止了工作。当我着手进行故障排除时,我发现即使javaws发送了它支持gzip的消息,我们的gzip响应也没有得到处理。我关闭了这些图标的gzip,它再次正常工作。谢谢Eric。我试了你的建议,但到目前为止还没有什么乐趣。我创建了快捷方式图标,尝试了gif、png和jpg格式,并使用了绝对和相对URI。你的那个看起来和我的一样。最糟糕的是知道解决方案不可避免地会变得非常简单。JNLP的东西让你感到有点痛苦,但我最终认为它很酷。目前,我的图标挫折给我的JNLP兴奋蒙上了一层阴影。我将在这个周末进行另一次尝试,看看我是否能找到答案。我做的另一件可能会有所不同的事情是创建一个256x256 png作为默认值,系统可以重新缩放。如果你发布你的整个JNLP,如果你愿意,我可以看一看。也许(默认)图标已经被缓存,所以你可能需要在看到新的自定义图标之前刷新现金?(我不知道javaws是如何处理图标的,但它让我想起了favicon/浏览器缓存的挫折…)。要清除缓存:启动javaws(“Java应用程序缓存查看器”),通过编辑|首选项打开“Java控制面板”,按“删除文件…”(在“常规”选项卡上)。是的,您也可以执行“javaws-卸载myfile.jnlp”以清除任何缓存位。
<?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>