我希望在登录时在Windows上完成大写锁定时警告用户。我有一个JTextField
,应该显示出来。我搜索过论坛,发现检查密钥是打开还是关闭,我们使用Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
。但是,我不知道如何将其附加到文本字段。
注意:我不想弹出一个对话框,其中包含大写锁定的消息。
问题:如何在JTextField
上显示大写锁定警告/工具提示?
这是我的代码:
public class CapsLockWarningJTextField {
private JFrame frame;
CapsLockWarningJTextField() {
frame = new JFrame();
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new net.miginfocom.swing.MigLayout());
frame.setVisible(true);
frame.setLocationRelativeTo(null);
JTextField t = new JTextField(10);
// if (Toolkit.getDefaultToolkit().getLockingKeyState(
// KeyEvent.VK_CAPS_LOCK)) {
// t.setToolTipText("Caps Lock ON");
// }
frame.add(t, "cell 0 0");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new CapsLockWarningJTextField();
}
});
}
}
答案 0 :(得分:3)
通过遵循此问题中的建议:Value Change Listener to JTextField您可以向jTextField添加侦听器。
在该侦听器中,您可以检查文档更改时是否打开大写锁定,如果是,则会发出警告。你很可能也想设置一个标志,所以你只需要显示一次警告,他们可能想要输入一些或全部密码。