Preciso saber como faço para cortar os últimos 3 caracteres de um string… cortar os primeiros tá legal, consegui… daí tentei fazer como fazia no PHP, que é colocar números negativos:
ex:
strQuery=strQuery.substring(-3);
Só que não funciona… detalhe é q a string pode variar de tamanho (comprimento)…
Para este problema, eu recomendo uma classe aqui do FORUM, da seção tutoriais.. que dei uma leve adaptada:
/** * * @author Daniel Gonçalves* @author peerless */importjavax.swing.*;importjavax.swing.text.*;publicclassFixedLengthONumextendsPlainDocument{/** Creates a new instance of FixedLengthDocument */privateintiMaxLength;publicFixedLengthONum(intmaxlen){super();iMaxLength=maxlen;}//Larissa says: "os clientes do meu pai não pagam"//isNumber(number?_string):boolean - deprecatedpublicbooleanisNumber(Stringn){booleanis;try{Long.parseLong(n);is=true;}catch(Exceptione){is=false;}returnis;}publicvoidinsertString(intoffset,Stringstr,AttributeSetattr)throwsBadLocationException{GmatgM=newGmat();if(str==null||!isNumber(str))return;if(iMaxLength<=0)// aceitara qualquer no. de caracteres{super.insertString(offset,str.toUpperCase(),attr);return;}intilen=(getLength()+str.length());if(ilen<=iMaxLength)// se o comprimento final for menor...super.insertString(offset,str.toUpperCase(),attr);// ...aceita strelse{if(getLength()==iMaxLength)return;// nada a fazerStringnewStr=str.substring(0,(iMaxLength-getLength()));super.insertString(offset,newStr.toUpperCase(),attr);}}}
Utilização em TEXTFIELDS, certo?
No constructor do seu formulário :
Esta classe originalmente, era apenas para limitar o tamanho do JTextField,
minha adaptação, além de limitar, faz com que só permita a entrada de números!
abraços
W
webeverton
bala!!!
além de resolver o meu problema, me deu um novo conceito sobre o funcionamento do try catch… bala mesmo