Identificar o CAPSLOCK ativo e avisar ao usuário
Como faço para identificar se o CAPSLOCK está ativo e informar ao usuário no momento de digitar sua senha para autenticação no sistema que estou desenvolvendo.
Edson Sobrinho
Curtidas 0
Respostas
Edson Sobrinho
25/04/2017
pessoal, alguem me ajuda ai. Só falta isso pra terminar e eu to enroladão. Já pesquisei na net e usei Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK) mas nao ta funcionando.
GOSTEI 0
Edson Sobrinho
25/04/2017
Achei a solução e tô compartilhando pra quem quiser:
public class TestaCapsOnSwing extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestaCapsOnSwing frame = new TestaCapsOnSwing();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public TestaCapsOnSwing() {
setTitle("Testa Caps Lock"<img src="http://javafree.uol.com.br/forum/images/smiles/icon_wink.gif">;
setBounds(100, 100, 200, 100);
setLayout(new BorderLayout());
JTextField teste = new JTextField();
final JLabel msg = new JLabel("CAPS LOCK ESTÁ ATIVADA"<img src="http://javafree.uol.com.br/forum/images/smiles/icon_wink.gif">;
msg.setVisible(false);
teste.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent arg0) {
if (Toolkit.getDefaultToolkit().getLockingKeyState(
java.awt.event.KeyEvent.VK_CAPS_LOCK)) {
msg.setVisible(true);
} else {
msg.setVisible(false);
}
}
});
getContentPane().add(teste, BorderLayout.NORTH);
getContentPane().add(msg, BorderLayout.CENTER);
}
} GOSTEI 0