Проблема с интеграцией виртуальной клавиатуры в приложение JavaFX - PullRequest
0 голосов
/ 10 февраля 2020

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

Я пытаюсь встроить клавиатуру в приложение, поэтому не могу использовать клавиатуру по умолчанию windows.

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

import com.sun.glass.ui.Window;

, любой подход с использованием

final Iterator<Window> windows = Window.getWindows()

не работает как метод для (Iterator< Window >) не может быть найден.

public static void showkeyboard(TextArea node) {


        //ensure required properties are set
        System.setProperty("com.sun.javafx.touch", "true");         
        System.setProperty("com.sun.javafx.isEmbedded", "true");        
        System.setProperty("com.sun.javafx.virtualKeyboard", "javafx");


       node.getProperties().put("vkType", "text");
       // node.getProperties().put(FXVK.useFXVK(), "mykeyboard");

        if (node != null) {
            Platform.runLater(() -> {
                FXVK.init(node);
                FXVK.attach(node);
                setVirtualKeyboradCss(node);
            });

        }
}


public static void setVirtualKeyboradCss(Node node) {

    List<Window> windows = Window.getWindows(); //error
    System.out.println(windows.size());

    for(Window w : windows){

        System.out.println(w.getTitle());
        if(w.getTitle()=="" /* type selector popup would be more ideal */){
            //set stylesheet
            System.out.println("Apply stylesheet Here");
        }
    }
}

любая помощь будет высоко ценится!

...