Как запустить программу Java GUI удобно для конечного пользователя - PullRequest
5 голосов
/ 14 декабря 2011

Пользователь хочет запустить приложение Java GUI из Windows , с некоторым количеством дополнительных параметров JVM.
Например:

javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar

Если я добавлю вышеупомянутую строкук пакетному файлу пользователь может дважды щелкнуть имя пакетного файла.
И это круто.Но есть один раздражающий побочный эффект: командный файл открывает окно cmd перед запуском графического интерфейса .

Есть ли простой способзапустить приложение с графическим интерфейсом Java, дважды щелкнув командный файл (или другой файл, который удовлетворяет вышеуказанным требованиям), не открывая окно cmd ?

Ответы [ 4 ]

6 голосов
/ 14 декабря 2011

Я вижу несколько способов:

  • Используйте средство запуска, сгенерированное Launch4J (спасибо CodeBrickie за подсказку) или Install4J / Exe4J . Launch4J позволяет настроить параметры, создав файл .l4j.ini с тем же именем, что и exe. В случае Exe4J дополнительные параметры могут быть указаны в файле .vmoptions, который вы перетаскиваете рядом с сгенерированным exe.
  • Создайте ярлык для javaw.exe, присвойте ему нужный значок, установите в поле «Начать с» каталог приложения и укажите свои параметры для javaw в поле «Цель».
  • Создайте скрипт VB, который запускает javaw. Если для среды выполнения VBS задано использование wscript , окно консоли не появится.
  • Если вы используете Java Web Start, вы можете позволить пользователю настроить файл JNLP, как указано в Java Webstart с параметрами .
4 голосов
/ 14 декабря 2011

Попробуйте

start javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar

Вы также можете использовать сценарии :

VBS:

Const HIDDEN_WINDOW = 12 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

Set objConfig = objStartup.SpawnInstance_ 
objConfig.ShowWindow = HIDDEN_WINDOW 
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID)

JScript:

var WindowStyle_Hidden = 0
var objShell = WScript.CreateObject("WScript.Shell")
var result = objShell.Run("cmd.exe /c abc.bat", WindowStyle_Hidden)

Наконец, есть утилиты общего назначения, которые можно использовать для скрытия окон, такие как CMDOW и Скрытый запуск ($ 20) . Я не использовал ни себя, так как start делает то же самое.

3 голосов
/ 14 декабря 2011

Пользователь хочет запустить приложение с графическим интерфейсом Java ..

Наилучший пользовательский интерфейс для конечного пользователя будет предложен при запуске приложения.используя Java Web Start .JWS может устанавливать ярлыки на рабочем столе и пункты меню для запуска приложения.

.. из Windows ..

JWS также работает в OS X & * nix.

2 голосов
/ 14 декабря 2011

Lauch4j может обернуть вашу банку в исполняемый файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...