Como ativar o Caps Lock via código?

3 respostas
K

Estou tentando fazer com que minha aplicação ative a tecla Caps Lock que iniciada. Como quero que grave tudo em maiusculo no meu BD, gostaria que isso ficasse explicito para o usuário, ou seja, tudo que ele digita está em maisculo. Apesar de já estar usando UPPER() no meu SQL, mas isso o usuario só percebe quando retorna os dados. Tentei usar o JFormattedTextField+MaskFormatter, mas nao resolveu muito bem o problema, já que quando eu nao preenchia todos os campos e mudava de JTextField, ele apagava tudo que digitei. Além de nao funcionar com JPasswordField. Mas o JFormattedTextField resolve outros problemas meu. Resumindo, é possível ligar o caps lock quando o sistema abrir? e se possível, impedir seu ‘desligamento’?

3 Respostas

C

kra. faz o seguinte… deixe o usuário digitar como ele quizer, depois vc aplica o método toUpperCase() e transforma em maiusculo antes d gravar no BD :smiley:

J

Mexe com Caps Lock não!

Document doc = new PlainDocument(){
   public void insertString(int offs, String str, AttributeSet as) throws BadLocatinoException{
      if(str!=null){
         super.insertString(str.toUpperCase(), offs, as);
      }
   }
};

JTextField campo = new JTextField(20);
campo.setDocument(doc);

se for usar isso em muitos lugares pode criar uma classe separada tambem...

K

Po, bacana. Já ouvi falar desse método, mas nao lembrava mais dele. Só que no SQL eu ja faço isso usando UPPER()…

Criado 9 de maio de 2006
Ultima resposta 9 de mai. de 2006
Respostas 3
Participantes 3