我想在登录时在 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();
}
});
}
}
最佳答案
遵循此问题中的建议:Value Change Listener to JTextField您可以向 jTextField 添加一个监听器。
在该监听器中,您可以在文档更改时检查大写锁定是否打开,如果是,则警告他们。您很可能还想设置一个标志,这样您只显示一次警告,他们可能想输入部分或全部大写密码。
关于java - 在 JTextField 上的工具提示上切换大写锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842503/