Como saber se Capslock está ativado ou desativado!

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.

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? :slight_smile:

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.

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!

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

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

Enfim, assim vc consegue verificar:

[code]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!" );
    }

}

}[/code]

[]´s

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

[]´s

[quote=davidbuzatto]Olha o tópico que renasce :smiley:
Esse tópico só tem 7 anos :D:D:D

Enfim, assim vc consegue verificar:

[code]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!" );
    }

}

}[/code]

[]´s[/quote]

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

Disponha :wink:

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.