如何检测是否在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)的一些信息

除了Nick的回答之外,要在用户按下某个键之前对此条件做出反应,您可以收听文本输入组件的焦点事件,并在组件获得焦点时测试大写锁定。