Boa tarde, estou com dificuldades para fazer com que o texto digitado em um textfield seja alterado automaticamente para maiusculo, caso tenha sido digitado em minusculo. Gostaria de saber qual a forma mais prática de fazer isso, se é com a utilização do onkeypress ou não…é uma exigência do cliente que no formulário de cadastro o campo “UF” seja automaticamente transformado em maiusculo.
Uma outra dúvida, o dado digitado e modificado automaticamente será salvo em minusculo ou maiusculo?
1- Utilize (extends) a classe PlainDocument
2- Sobrescreva (@override) o método insertString
3- Retorne sempre super.insertString(an_length, as_character.toUpperCase(), ao_attribute);
Acho que a solução proposta pela lina é a mais completa. Usar eventos pra fazer isso só vai surtir efeito quando o evento for disparado. No focus lost, só será possível visualizar as letras maiúsculas assim que sair do campo, com key released, se o usuário copiar um texto e colar com o mouse não haverá a conversão para letras maiúsculas.
Ok, imaginei que nestes casos a cópia só poderia ser feita com a utilização do crtl+c com o crtl+v…asssim sendo o evento de teclado iria ser disparado de qualquer maneira…
Valeu aí pela correção, realmente a solução proposta pela Lina é mais completa!