powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Смена раскладки клавиатуры в JavaFX
25 сообщений из 46, страница 1 из 2
Смена раскладки клавиатуры в JavaFX
    #39471539
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Нужна помощь в следующей ситуации.
Проект мигрирует с устаревающей технологии Swing на более свежую JavaFX. Переписывается форма входа в систему (логин/пароль). Интересует вопрос смены раскладки клавиатуры на Windows хостах.

В Swing была возможность синхронизироваться с системной локалью (RUS|ENG). Ее можно было получить через компонент Component.getInputContext().getLocale().
Поток раз в полсекунды опрашивает системную локаль (которая могла изменится в системе просто по нажатию пользователем комбинации горячих клавиш), и если она изменилась, динамически меняет локаль внутри приложения, перерисовывает кнопку с текущим языком [RUS|ENG].
Аналогично и в обратную сторону, т.е. по нажатию кнопки [RUS|ENG] меняется системная локаль хоста.

Вопрос. Как тоже самое реализовать на JavaFX? Никакой альтернативы Swing по данному вопросу не было найдено в сети. Как добиться синхронизации раскладки клавиатуры без использования java.awt.im.InputContext ?

Надеюсь достаточно полно описал вопрос. Заранее спасибо за любую помощь.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471570
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmann,

InputMethodEvent не пробовали слушать?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471674
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Пробовал, не помогает. Насколько я понимаю InputMethodEvent для других целей.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471729
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmann,
Тебе только Картинкой продублировать текущую раскладку клавы?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471918
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Не только. Это должна быть Кнопка, а не просто Картинка. Связь такая:
Нажатие на Кнопку -> смена надписи на Кнопке, изменение системной раскладки
Изменение системной раскладки -> смена надписи на Кнопке
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471941
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannЭто должна быть Кнопка
вам делать нечего?
Смена раскладки - горячие клавиши от ОСи или драйвера.
А у вас ПРИКЛАДНОЕ программное обеспечение.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471948
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannPetro123,

Не только. Это должна быть Кнопка, а не просто Картинка. Связь такая:
Нажатие на Кнопку -> смена надписи на Кнопке, изменение системной раскладки
Изменение системной раскладки -> смена надписи на Кнопке
О-о-о-о! И запустить всё это в браузере через WebStart!
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471979
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Какие предложения насчет просто Картинки, которая дублирует текущую системную раскладку?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471980
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,
+1
В век полётов на Марс, пора уже такую кнопку))
50 полезных команд для «Окей, Google»​ на русском

https://lifehacker.ru/2016/10/14/ok-google-guide/
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471982
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannКакие предложения
код давай, который не работает
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39471999
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Не спорю с вами)) Не все задачи относятся к полету в космос, но так или иначе эта задача по каким-то причинам ставится, а значит требует решения.

Вот конкретный код.

ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleWithFixedDelay(() -> {
System.out.println(Locale.getDefault());
}, 0, 2, TimeUnit.SECONDS);

Как после смены системной локали мы бы узнали об этом?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472018
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Причина в том, что ПО разрабатывается под закрытый рабочий стол и для целевой аудитории, которая может даже горячих комбинаций не знать. Поэтому самый понятный для него способ - это нажать на ту самую кнопку.
Такие дела)
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472019
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannКак после смены системной локали мы бы узнали об этом?
у нас интервью или собеседование?
1. Код оформить кнопкой вверху
2. В конструкторе формы входа текстовую метку на локаль и код
3. Дать ЧТО НЕ РАБОТАЕТ текстом, логами, скринами.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472025
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannи для целевой аудитории, которая может даже горячих комбинаций не знать.
я политикой не занимаюсь.
В ТЗ прописывается явно, какой уровень пользователей должен быть.
Если все остальные вопросы у вас решены - делайте. Всё за счёт работодателя.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472027
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannкоторая может даже горячих комбинаций не знать.
надеюсь, на каждой форме в углу есть кнопка - Справка? ))
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472056
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannПроект мигрирует с устаревающей технологии Swing на более свежую JavaFX
если исходить из технологий, то для постоянного слежения за МЕТКОЙ напр. текстовой локали можно использовать таймер .
Потоки или ExecutorService тут оверхед IMHO.
Это если у вас просто метка при открытии формы уже корректно работает и проблема только при обновлении в открытом положении окна.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472057
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javafx.animation
Class Timeline
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472111
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannКакие предложения насчет просто Картинки, которая дублирует текущую системную раскладку?
Либо вызывать WinAPI через powershell, либо написать простейшую утилиту на C++ и её вызывать. Можно, конечно, и WinAPI через JNA присобачить.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472157
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannPetro123,

Причина в том, что ПО разрабатывается под закрытый рабочий стол и для целевой аудитории, которая может даже горячих комбинаций не знать. Поэтому самый понятный для него способ - это нажать на ту самую кнопку.
Такие дела)
Что-то типа киоска? А не случится так, что завтра потребуется запускать это в Linux? Я бы не стал так глубоко погружаться в API. Разве нельзя ограничится переключением локали внутри приложения и не трогать при этом OS?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472162
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 50 полезных команд для «Окей, Google»​ на русском

https://lifehacker.ru/2016/10/14/ok-google-guide/
Да-да... шутку про "OK, Google! Open pornhub.com!" уже слышали?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472164
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472165
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Привожу код на Swing. Каким-то чудом он работает без всякого WinApi. Вопрос заключается в том, как сделать тоже самое на JavaFX?
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472169
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Насчет потоков и таймера услышал вас.
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472172
KeshaShturmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

В Swing все работало без WinApi
...
Рейтинг: 0 / 0
Смена раскладки клавиатуры в JavaFX
    #39472175
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeshaShturmannPetro123,

какой изврат по дизайну(
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Смена раскладки клавиатуры в JavaFX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]