[RESOLVIDO] formatacao de jtextfield

bom é o seguinte eu tenho alguns campos no meu programa que eu preciso que so aceitem numeros e tenham um valor maximo de 10 caracteres,
porem o problema é que no comeco eu usei jtextfield mas como eu precisava de formatacao mudei para o jformattedtextfield, mas ele nao serve
para o que eu preciso, pq se eu colocar o maskformatter assim

MaskFormatter comFoco = null; try { comFoco = new MaskFormatter("##########"); comFoco.setValidCharacters("0123456789"); }
ele nao deixa o usuario digitar menos de 10 caracteres, se for digitado menos e o usuario trocar o campo ele apaga o campo, entao se alguem souber
outra maneira de fazer isso com o jtexfield, eu agradeco muito :slight_smile:

Existem duas maneiras de fazer. Caso você queira verificar a cada tecla pressionada, crie seu próprio Document (que só aceita números e no máximo 10 caracteres) e use-o no seu campo. Há um exemplo similar na própria documentação da classe JTextField (aparece como UpperCaseField).

Caso você queira verificar quando o usuário tirar o foco daquele campo, é mais simples. Adicione um FocusListener na sua caixa de texto e no evento de focusLost você verifica se os valores no campo são válidos.

entao no comeco eu fiz isso, mas eu achei que ficou meio “gambiarra”, e queria faze algo mais “limpo” digamos assim,
eu vou tentar fazer com o document, obrigado pela ajuda :smiley:

[quote=paulomn]entao no comeco eu fiz isso, mas eu achei que ficou meio “gambiarra”, e queria faze algo mais “limpo” digamos assim,
eu vou tentar fazer com o document, obrigado pela ajuda :smiley: [/quote]

Ei-lo: http://www.guj.com.br/posts/list/107425.java#579803

[quote=ViniGodoy][quote=paulomn]entao no comeco eu fiz isso, mas eu achei que ficou meio “gambiarra”, e queria faze algo mais “limpo” digamos assim,
eu vou tentar fazer com o document, obrigado pela ajuda :smiley: [/quote]

Ei-lo: http://www.guj.com.br/posts/list/107425.java#579803[/quote]

vlw vinigodoy ajudo muito :smiley:

coloca [RESOLVIDO] no titulo da lista…vlw