Как я могу определить, включена ли блокировка заглавных букв в Swing?
Вопрос
Я пытаюсь создать лучшее поле имени пользователя и пароля для своего рабочего места и хотел бы иметь возможность жаловаться, когда у них заблокированы заглавные буквы.
Это возможно?И если да, то я бы хотел, чтобы это было обнаружено до того, как клиент напечатает свою первую букву.
Есть ли какой-нибудь неплатформенный способ сделать это?
Решение
Попробуйте это из java.awt.Toolkit, возвращает логическое значение:
Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Другие советы
вот некоторая информация о классеhttp://java.sun.com/j2se/1.5.0/docs/api/java/awt/Toolkit.html#getLockingKeyState(int)
В дополнение к ответу Ника, чтобы отреагировать на это условие до того, как пользователь нажмет клавишу, вы можете прослушать событие фокуса вашего компонента ввода текста и проверить клавишу Caps-Lock, когда компонент получает фокус.