Cara, no primeiro caso vc poderia usar os métodos toUpperCase() e toLowerCase() pra colocar tudo em maiúscula ou tudo em minúscula.
No segundo, não sei se eh o correto mas poderia resolver o seu problema que é criar uma máscara com a quantidade de caractéres e formato que vc desejar.
Olá
Escreva uma classe que herde de javax.swing.text.DocumentFilter e sobrescreva os métodos insertString, remove e replace.
Leia este tutorial para aprender como utilizá-la. Lá, na sessão Implementing a Document Filter, tem um exemplo de como limitar o número de caracteres, que é uma das funcionalidades que você quer implementar.
Abraços
Mas a minha sugestão não é gambiarra.
Os componentes do Swing seguem o modelo MVC, e com o JTextField não é diferente. A classe DocumentFilter permite implementar filtros para a implementação da interface Document, que por sua vez representa o “model” dos dados (o JTextField, logicamente, representa a “view”). De brinde, você ainda ganha flexibilidade, pois seu DocumentFilter pode ser aplicado à qualquer implementação do JTextField
Abraços
eu quis deizer q eu q fiz uma gambiarra e deu certo…
porem segui sua dica…e junto com um amigo estamos fazendo um novo TextField com essas duas propriedades…ta ficando massa…falta so alguns passos assim que ficar pronto disponibilizo para a galera testar e fazer uso dele acho que isso vai ser de bom ajuda a todos…
Já que vc quer “aprender” pode reinventar a roda e criar uma nova classe jTextField, herdando a classe jTextField original porém implementando as funcionalidades que vc quer.
Dessa forma quando for construir seus projetos ao invés de utillizar o jTextField vc vai usar a sua classe com suas melhorias.
Se vc trabalhar com alguma IDE pode até adicionar essa nova classe par facilitar seu trabalho.
Só para confundir mais, :lol: , vc já utilizou SwingX?
Basicamente os caras fizeram isso que vc está fazendo, pegaram o Swing normal, herdaram suas características e acrescentaram bastante coisa boa e até mesmo novos componentes.
Vi sim…Eu uso o SwingX mas não vi nada de diferente no TextField…
vou dar uma olhada melhor aqui qualquer coisa volto a postar…falando o que eu encontrei…