sim claro, poste seu código e mostre o erro que ajudaremos
agora advinhar fica meio difícil.
G
GabrielMantini
Cara JFormattedTextField é um JTextField, então não vejo o pq disso acontecer…
Isso pode ter a ver com o tipo de formato que vc está inserindo, se vc insere um padrão que tem que ser seguido, isso vai incluir o numero de caracteres.
Por exemplo: (xx)xxxx-xxxx só vai poder ter 13 dígitos, caracteres ou seja lá o que o caractere ‘x’ represente.
Para fazer ilimitado vc pode usar uma regex pra validar o seu textfield e setar o ultimo caractere como um coringa, sendo assim ele aceitaria qualquer caractere, incluindo o vazio e o espaço em branco, o que deixaria vc incluir valores “infinitamente”.
Se quiser ter menos trabalho vc pode setar um valor muito muito alto pro seu textField, mas não seria infinito e seria deselegante.
SandroSoftwares
se precisar de uma classe que controla caracteres eis aqui:
importjavax.swing.JOptionPane;importjavax.swing.text.*;publicclassFixedLengthDocumentextendsPlainDocument{privateintiMaxLength;publicFixedLengthDocument(intmaxlen){super();iMaxLength=maxlen;}@OverridepublicvoidinsertString(intoffset,Stringstr,AttributeSetattr)throwsBadLocationException{if(str==null){return;}if(iMaxLength<=0)// aceitara qualquer no. de caracteres{super.insertString(offset,str,attr);return;}intilen=(getLength()+str.length());if(ilen<=iMaxLength)// se o comprimento final for menor...{super.insertString(offset,str,attr);// ...aceita str}else{if(getLength()==iMaxLength){JOptionPane.showMessageDialog(null,"Limite de Caracteres atingido.");return;// nada a fazer}StringnewStr=str.substring(0,(iMaxLength-getLength()));super.insertString(offset,newStr,attr);}}}
para implementá-la (eu testei no jformatted) logo após criá-lo digite:
seujFormattedTextField.setDocument(new FixedLengthDocument(QUANTIDADE DE CARACTERES DESEJADO));