GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como saber se Capslock está ativado ou desativado!


#1

Estou fazendo um GUI que le o nome do usuario e a senha
e eu queria saber se tem alguma jeito de saber se a tecla capslock está ativada ou nao.

Por enguanto eu adcionei ao JtextField e ao JPasswordField para escutar eventos do teclado. Ficou assim:

public void keyPressed( KeyEvent e )
{
if( e.getKeyCode == 20 ) // Teste se eh capslock
{ .... }
}

O problema que deste jeito apenas me fala que o usuario apertou a tecla capslock. Isso nao resolve meu problema porque pode acontecer do usuario entra na tela de Login já com a tecla Capslock pressionado!
Alguem sabe como testa se a tecla está ativada ou nao??
Obrigado.


#2

Nao sei se da pra fazer isso, mas... nao era melhor dar uma mensagem de erro, caso a senha nao bata, pedindo pro usuario conferir se o CapsLock esta ligado, mais ou menos como o Windows XP faz? :smile:


#3

Essa msg de erro eu ja fiz....
eu queria justamente fazer igual o XP, qd vc aperta o CapsLock ativa um Tool Tip avisando o usuario.


#4

Hum....

Pq vc não converte a senha digitada e a senha que vai comparar para maiusculas?

vai fica + ou - assim...

class Teste{
   public static void main(String args[]){
      String X = "";
      X = "dennys";
      System.out.println(X);
      X = X.toUpperCase();
      System.out.println(X);
   }
}

Flw!


#5

Hempx estou com o mesmo problema... mais o código da tecla Caps Lock é sempre 20 ativada ou desativada..
gostaria de saber.. se tem como comparar quando ela está ativada mostrar o ToolTip .. quando desativar.. nao fazer nada..
abraço a todos


#6

Olha o tópico que renasce :smiley:
Esse tópico só tem 7 anos :D:D:D

Enfim, assim vc consegue verificar:

import java.awt.Toolkit;
import java.awt.event.KeyEvent;
public class TesteCapsLock {
    public static void main( String[] args ) {
        boolean capsLigado = Toolkit.getDefaultToolkit().getLockingKeyState(
                KeyEvent.VK_CAPS_LOCK );
        if ( capsLigado ) {
            System.out.println( "Caps Lock Ligado!" );
        } else {
            System.out.println( "Caps Lock Desligado!" );
        }
    }
}

[]´s


#7

Ah, e se vc quiser ligar/desligar uma tecla, vc pode usar o método setLockingKeyState( código_da_tecla, onOuOff )

[]´s


#8

o topico pode até ser antigo.. mais nunca é tarde para aprender !!! obrigado pela dica..


#9

Disponha :wink:


#10

Olá Pessoal

Pegando a carona da ativação de Caps Lock, podemos na entrada do sistema ou de uma aplicação quando o usuário for digitar qq jtxtFields esta tecla já está ativada automaticamente?
Grato.


#11