Сеть Запускает Приложение, основывался на Платформе NetBeans, не создает настольный ярлык и объект меню "Пуск"

Я создал Платформенное приложение NetBeans, которое запускается с помощью сети Java, Запускаются. Я создал ВОЕННЫЙ файл с помощью 'Сборки '-команда Приложения JNLP в Netbeans 6.8.

Я добавил настольный ярлык и пункт меню в файл JNLP, но по некоторым причинам, они не создаются, когда приложение запущено.

Однако, когда я перехожу в:

Панель управления-> Java-> Временные интернет-Файлы-> Представление-> Выбор мое приложение> Нажимает 'Install shortcuts to the selected application'

рабочий стол и ярлыки меню создаются правильно.

Кроме того, в Консоли Java опция Shortcut Creation установлена на следующее (значение по умолчанию, я предполагаю):

  • Предложите пользователю, если подсказали

Ниже отрывок моего файла 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

6
задан rudolfv 30 April 2010 в 14:48
поделиться

3 ответа

Мне удалось решить эту проблему с помощью javax.jnlp.IntegrationService (доступен с JDK 6.1.18).

Этот класс можно найти в jnlp.jar, находящемся в каталоге образцов JDK: /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();
        }
    }
3
ответ дан 17 December 2019 в 04:43
поделиться

У меня та же проблема с Linux, но она работает должным образом в OS-X. Я тестировал как Tomcat, так и веб-контейнер Jetty.

Итак, вполне вероятно, что ваш код действительно правильный.

1
ответ дан 17 December 2019 в 04:43
поделиться

У меня такая же проблема при использовании Eclipse для создания приложения WebStart. Я решил, что это ограничение WebStart на Windows. Я подумал, что можно установить эти свойства, но пользователю все равно нужно "установить" приложение, чтобы использовать их.

На Mac установить приложение немного проще. Просто щелкните правой кнопкой мыши на значке в доке, выберите Options, а затем Keep in Dock.

1
ответ дан 17 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: