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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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