Установка аргументов по умолчанию на JVM - PullRequest
0 голосов
/ 02 июля 2018

Я разрабатываю приложение javafx для embledded системы. (WIN 7 EMB, JAVA 8)

эта система сенсорная (без клавиатуры), но JVM не устанавливает виртуальную клавиатуру по умолчанию

как я могу один раз и окончательно установить эти аргументы в JVM?

-Dcom.sun.javafx.isEmbedded=true
-Dcom.sun.javafx.touch=true
-Dcom.sun.javafx.virtualKeyboard=javafx

спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Наконец-то я нашел похожее решение, обернув свой основной файл другим, который установил jvm prop перед запуском моего основного основного файла

 package launcher;

import application.Main;

public class myLauncher {

    public static void main(String[] args) {


        Main.main(null);

    }

}

а это главное

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);
            }

(необходимо пометить -> «Извлечь необходимые библиотеки в сгенерированную банку» при экспорте банки для работы!)

Извините, но у меня нет четкого объяснения этому решению!

0 голосов
/ 02 июля 2018

JavaFX не инициализируется до вызова Application.launch(...). Вы должны попытаться установить системные свойства, например, в вашем методе main(String[] args):

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", "true");
    launch(args); // launch JavaFX
}
...