gpt4 book ai didi

java - 基于 NetBeans 平台构建的 Web Start 应用程序不会创建桌面快捷方式和开始菜单项

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:33 24 4
gpt4 key购买 nike

我创建了一个使用 Java Web Start 启动的 NetBeans 平台应用程序。我在 Netbeans 6.8 中使用“构建 JNLP 应用程序”命令构建了 WAR 文件。

我已将桌面快捷方式和菜单项添加到 JNLP 文件,但由于某些原因,这些在应用程序启动时并未创建。

但是,当我去:

Control Panel -> Java -> Temporary Internet Files -> View -> Select my application > Click 'Install shortcuts to the selected application'

桌面和菜单快捷方式已正确创建。

此外,在 Java 控制台中,“快捷方式创建”选项设置为以下(我认为是默认设置):

  • 如果有提示则提示用户

下面是我的 JNLP 文件的一个片段:

<jnlp spec="6.0+" codebase="$$codebase">   
<information>
<title>${app.title}</title>
<vendor>SomeVendor (Pty) Ltd</vendor>
<description>Some description</description>
<icon href="${app.icon}"/>
<shortcut online="true">
<desktop/>
<menu submenu="MyApp"/>
</shortcut>
</information>
...

我被难住了。有人对此有解释吗?谢谢

PS 这适用于 Windows XP 和 Windows 7。NetBeans 版本:6.8

最佳答案

我设法通过使用 javax.jnlp.IntegrationService(自 JDK 6.1.18 起可用)解决了这个问题。

这个类可以在 JDK 示例目录中的 jnlp.jar 中找到:/sample/jnlp/servlet/jnlp.jar

以下代码确保创建桌面快捷方式和菜单快捷方式:

    private void createShortcuts() {        IntegrationService vIntegrationService = null;        try {            vIntegrationService = (IntegrationService) ServiceManager.lookup("javax.jnlp.IntegrationService");            if (!vIntegrationService.hasDesktopShortcut() || !vIntegrationService.hasMenuShortcut()) {                vIntegrationService.requestShortcut(true, true, "App Menu Name");            }        } catch(UnavailableServiceException ex){            ex.printStackTrace();        }    }

关于java - 基于 NetBeans 平台构建的 Web Start 应用程序不会创建桌面快捷方式和开始菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com