JavaFX — виртуальная клавиатура не отображается при создании JAR приложения

Я создал приложение JavaFX в IntelliJ14.14, которое будет использовать виртуальную клавиатуру JavaFX. Я добавил следующие свойства в контроллер класса mainApp:

public static void main(String[] args) {
    System.setProperty("com.sun.javafx.isEmbedded", "true");
    System.setProperty("com.sun.javafx.touch", "true");
    System.setProperty("com.sun.javafx.virtualKeyboard", "javafx");
    launch(args);
}

Когда я запускаю приложение из IntelliJ, все работает нормально. Виртуальная клавиатура работает отлично.

Но когда я создаю файл Jar приложения из Build -> Build Artifacts... -> Build и запускаю его, клавиатура никогда не отображается, потому что параметры VM не устанавливается.

Это что-то, чего мне не хватает...?

Заранее спасибо...

ИЗМЕНИТЬ

Я нашел способ заставить это работать, запустив файл из cmd с помощью этой команды:

java -Dcom.sun.javafx.isEmbedded=true -Dcom.sun.javafx.virtualKeyboard="javafx" -Dcom.sun.javafx.touch=true -jar myApp.jar 

Однако я хочу сделать это просто выполнением файла Jar...

ИЗМЕНИТЬ

Есть еще один ближайший способ выполнить то, что я хочу...

Создайте файл .bat в той же папке jar и поместите в него:

start javaw -Dcom.sun.javafx.isEmbedded=true -Dcom.sun.javafx.virtualKeyboard="javafx" -Dcom.sun.javafx.touch=true -jar myApp.jar 

Поэтому, когда файл .bat выполняется и запускается файл jar, системные свойства загружаются правильно...


person CyborgNinja23    schedule 02.11.2015    source источник
comment
Попробуйте переместить вызовы System.setProperty(...) в метод Application.init().   -  person James_D    schedule 02.11.2015
comment
Не работает, тот же результат...   -  person CyborgNinja23    schedule 02.11.2015
comment
Вместо того, чтобы требовать от пользователей запуска файла .bat (который не будет работать на разных платформах), вы можете создать решение на Java, которое повторно выполняет вашу программу с соответствующими аргументами командной строки.   -  person FThompson    schedule 04.11.2015
comment
@Vulcan пример для этого ...?   -  person CyborgNinja23    schedule 04.11.2015
comment
@geme23 Класс ProcessBuilder предоставляет необходимые инструменты. чтобы настроить процесс для запуска вашего приложения.   -  person FThompson    schedule 04.11.2015
comment
Это ЕДИНСТВЕННЫЙ вариант, который у вас есть: blog.codejava.net/название/   -  person 72DFBF5B A0DF5BE9    schedule 04.11.2015