Я нашел вас вопросом, пытаясь приспособить то же самое. Я потратил целый день, пытаясь сделать javafx дисплеем AZERTY-клавиатуры, и я нашел решение!
Хорошо, позвольте мне быть ясным: javafx никоим образом не использовал азертитную клавиатуру, поэтому вам нужно немного взломать.
Решение не является идеальным, и вам придется повторять его каждый раз, когда вы обновляете javafx, но это позволит вам в максимальной степени настроить клавиатуру на всю длину и на произвол судьбы.
РЕШЕНИЕ 1 (грязный, но работает)
Вам нужно будет редактировать файл в JavaFX файл поставляется с JDK
ШАГА:
GO в JDK (в Mac: /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home)
Перейти внутрь jre/lib/ext и cop y javafx jar называется jfxrt.jar в папку на рабочем столе.
Установите EMACS, если у вас нет его и открыть скопированный файл банку с этим программным обеспечением
Просмотр списка файлов для поиска COM/ВС/JavaFX/сцены/контроль/кожи/TextBoard.txt список сортируется из AZ, поэтому используйте его (имеется более 6000 файлов).
Открыть его и ЗДЕСЬ вы есть. Изменение персонажей в любом порядке делает вас счастливыми. Я присоединился к ордену азертю.
Сохраните и скопируйте jfxrt.jar туда, где он был. Готово.
Примечание: не пытайтесь извлечь банку и заархивировать ее, она не будет работать, так как jdk хранит индексный список файлов.
Результат: azerty javafx virtual keyboard in action
РЕШЕНИЕ 2 (Clean, но я не закончил)
я выкопал при е на классы JavaFX я выяснил, что класс, отвечающий за загрузку файла TextBoard.txt что выдает клавиатуру FXKVSkin Этот класс предназначен для приема клавиатур другого типа, чем один стандартный по умолчанию qwerty. Все, что вам нужно сделать, это добавить это в вашем коде:
textFieldThatYouUse.getProperties() поставил (FXVK.VK_TYPE_PROP_KEY, "mykeyboard");.
Где mykeyboard - это файл, который вы создали, например TextBoard.txt с именем MykeyboardBoard.txt (важные буквы).
FXKVSkin теперь будет искать файл MykeyboardBoard.txt, и вот здесь мое приключение закончилось. Вам нужно будет заставить FXKVSkin найти ваш файл, я попытался добавить файл в путь к классам во время выполнения решений Here, но это не сработало.
Если кто-нибудь может решить эту проблему, добавьте ее в качестве ответа, это будет менее грязное решение.
Надеюсь, что решения помогут некоторым неанглийским динамикам! : p