|
|
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Нужна помощь в следующей ситуации. Проект мигрирует с устаревающей технологии Swing на более свежую JavaFX. Переписывается форма входа в систему (логин/пароль). Интересует вопрос смены раскладки клавиатуры на Windows хостах. В Swing была возможность синхронизироваться с системной локалью (RUS|ENG). Ее можно было получить через компонент Component.getInputContext().getLocale(). Поток раз в полсекунды опрашивает системную локаль (которая могла изменится в системе просто по нажатию пользователем комбинации горячих клавиш), и если она изменилась, динамически меняет локаль внутри приложения, перерисовывает кнопку с текущим языком [RUS|ENG]. Аналогично и в обратную сторону, т.е. по нажатию кнопки [RUS|ENG] меняется системная локаль хоста. Вопрос. Как тоже самое реализовать на JavaFX? Никакой альтернативы Swing по данному вопросу не было найдено в сети. Как добиться синхронизации раскладки клавиатуры без использования java.awt.im.InputContext ? Надеюсь достаточно полно описал вопрос. Заранее спасибо за любую помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 14:40 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmann, InputMethodEvent не пробовали слушать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:10 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Пробовал, не помогает. Насколько я понимаю InputMethodEvent для других целей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 17:44 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmann, Тебе только Картинкой продублировать текущую раскладку клавы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 20:02 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Не только. Это должна быть Кнопка, а не просто Картинка. Связь такая: Нажатие на Кнопку -> смена надписи на Кнопке, изменение системной раскладки Изменение системной раскладки -> смена надписи на Кнопке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 09:27 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannЭто должна быть Кнопка вам делать нечего? Смена раскладки - горячие клавиши от ОСи или драйвера. А у вас ПРИКЛАДНОЕ программное обеспечение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 09:54 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannPetro123, Не только. Это должна быть Кнопка, а не просто Картинка. Связь такая: Нажатие на Кнопку -> смена надписи на Кнопке, изменение системной раскладки Изменение системной раскладки -> смена надписи на Кнопке О-о-о-о! И запустить всё это в браузере через WebStart! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:09 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Какие предложения насчет просто Картинки, которая дублирует текущую системную раскладку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:40 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Garrick, +1 В век полётов на Марс, пора уже такую кнопку)) 50 полезных команд для «Окей, Google» на русском https://lifehacker.ru/2016/10/14/ok-google-guide/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:41 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannКакие предложения код давай, который не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:42 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Не спорю с вами)) Не все задачи относятся к полету в космос, но так или иначе эта задача по каким-то причинам ставится, а значит требует решения. Вот конкретный код. ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleWithFixedDelay(() -> { System.out.println(Locale.getDefault()); }, 0, 2, TimeUnit.SECONDS); Как после смены системной локали мы бы узнали об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:51 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Причина в том, что ПО разрабатывается под закрытый рабочий стол и для целевой аудитории, которая может даже горячих комбинаций не знать. Поэтому самый понятный для него способ - это нажать на ту самую кнопку. Такие дела) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:02 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannКак после смены системной локали мы бы узнали об этом? у нас интервью или собеседование? 1. Код оформить кнопкой вверху 2. В конструкторе формы входа текстовую метку на локаль и код 3. Дать ЧТО НЕ РАБОТАЕТ текстом, логами, скринами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:02 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannи для целевой аудитории, которая может даже горячих комбинаций не знать. я политикой не занимаюсь. В ТЗ прописывается явно, какой уровень пользователей должен быть. Если все остальные вопросы у вас решены - делайте. Всё за счёт работодателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:06 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannкоторая может даже горячих комбинаций не знать. надеюсь, на каждой форме в углу есть кнопка - Справка? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:07 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannПроект мигрирует с устаревающей технологии Swing на более свежую JavaFX если исходить из технологий, то для постоянного слежения за МЕТКОЙ напр. текстовой локали можно использовать таймер . Потоки или ExecutorService тут оверхед IMHO. Это если у вас просто метка при открытии формы уже корректно работает и проблема только при обновлении в открытом положении окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:29 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
javafx.animation Class Timeline ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:30 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannКакие предложения насчет просто Картинки, которая дублирует текущую системную раскладку? Либо вызывать WinAPI через powershell, либо написать простейшую утилиту на C++ и её вызывать. Можно, конечно, и WinAPI через JNA присобачить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 11:58 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
KeshaShturmannPetro123, Причина в том, что ПО разрабатывается под закрытый рабочий стол и для целевой аудитории, которая может даже горячих комбинаций не знать. Поэтому самый понятный для него способ - это нажать на ту самую кнопку. Такие дела) Что-то типа киоска? А не случится так, что завтра потребуется запускать это в Linux? Я бы не стал так глубоко погружаться в API. Разве нельзя ограничится переключением локали внутри приложения и не трогать при этом OS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:31 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123 50 полезных команд для «Окей, Google» на русском https://lifehacker.ru/2016/10/14/ok-google-guide/ Да-да... шутку про "OK, Google! Open pornhub.com!" уже слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:33 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:33 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Привожу код на Swing. Каким-то чудом он работает без всякого WinApi. Вопрос заключается в том, как сделать тоже самое на JavaFX? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:35 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Petro123, Насчет потоков и таймера услышал вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:38 |
|
||
|
Смена раскладки клавиатуры в JavaFX
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, В Swing все работало без WinApi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39472019&tid=2122839]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 422ms |

| 0 / 0 |
