Как вызвать цифровую клавиатуру вместо qwerty, когда пользователь устанавливает фокус на элемент управления Textfield?

avatar
Javateer
9 августа 2021 в 01:30
71
0
0

Посмотрев на этот совет, я попробовал то же самое.

myTextField.getProperties().put("vkType", "numeric");

Но когда я применяю фокус к элементу управления во время выполнения, я получаю приведенную ниже ошибку, а также по-прежнему отображается только стандартная клавиатура qwerty для ввода текста в текстовое поле.

Я нашел недавнее сообщение здесь о том, что кто-то еще потерпел неудачу. Я также применил ту же конфигурацию времени выполнения, которую он упоминает, как показано ниже. Это показывает «виртуальную» клавиатуру на моем ноутбуке во время выполнения, но не цифровую клавиатуру при тестировании непосредственно на телефоне.

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>${javafx.plugin.version}</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <configuration>
                <options>
                    <option>-Dcom.sun.javafx.isEmbedded=true</option>
                    <option>-Dcom.sun.javafx.virtualKeyboard=javafx</option>
                </options>
                <mainClass>${main.class}</mainClass>
            </configuration>
        </execution>

Исключение в потоке "Поток приложения JavaFX" java.lang.ClassCastException: класс java.lang.String не может быть приведен к класс java.lang.Integer (java.lang.String и java.lang.Integer находятся в модуль java.base загрузчика 'bootstrap')

Источник
José Pereda
10 августа 2021 в 10:01
0

Это только для десктопа? Виртуальная клавиатура не работает на мобильных устройствах. Это что-то для Attach KeyboardService. Эта проблема уже зарегистрирована.

Javateer
11 августа 2021 в 17:12
0

@JoséPeda Я пытаюсь заставить это работать на мобильных устройствах. когда пользователь вводит данные в поле, предназначенное только для чисел, он должен либо сдвигать клавишу Alt на клавиатуре, либо долго нажимать на буквы с цифрами в качестве альтернативы. В любом случае, это более медленный процесс ввода данных. Но при представлении Android или iOS с цифровой клавиатурой сетка кнопок 3x3 позволяет использовать кнопки гораздо большего размера. Таким образом, пользователь может печатать особенно быстро по сравнению с полной раскладкой QWERTY, которую мы используем по умолчанию.

user7399085
13 октября 2021 в 11:42
0

Некоторое время назад я столкнулся с той же проблемой, и мне пришлось создать свой собственный PopUp с использованием средств JavaFX, аналогичных ответу на вопрос, на который вы ссылаетесь в разделе «здесь».

Ответы (0)