Я создал приложение 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, системные свойства загружаются правильно...
System.setProperty(...)
в методApplication.init()
. - person James_D   schedule 02.11.2015ProcessBuilder
предоставляет необходимые инструменты. чтобы настроить процесс для запуска вашего приложения. - person FThompson   schedule 04.11.2015