Boa tarde Staroski
Primeiramente muito obrigado pela resposta, porem ainda estou tendo dificuldades para aplicar essa solução, não estou conseguindo intender em qual momento é chamado o metodo replace da minha classe DocumentFilterComER, segue a baixo o código, daclasse e tambem do meo Jframe que contem o jtextfield.
public class DocumentFilterComER extends DocumentFilter {
private final String regex;
public DocumentFilterComER(String regex){
//super();
this.regex = regex;
}
public void replace (FilterBypass fb, int offset, int length, String string, AttributeSet attrs) throws BadLocationException{
<a href="//fb.replace">//fb.replace</a>(offset, length, text.replaceAll(this.er, “”), (javax.swing.text.AttributeSet) attrs);
System.out.println(“TESTE”);
Document document = fb.getDocument();
String text = document.getText(0, document.getLength());
if ((text + string).matches(regex)) {
super.replace(fb, offset, length, text, (javax.swing.text.AttributeSet) attrs);
System.out.println("Text: ");
}
}
Abaixo é minha duvida, fiz dessa forma no evento keytyped, me desculpe caso seja algo simples porem sou novo e estou aprendendo ainda rs.
private void txt_numeroKeyTyped(java.awt.event.KeyEvent evt) {
String regex = "\\d*,?\\d*";
DocumentFilterComER filter = new DocumentFilterComER(regex);
((AbstractDocument) txt_numero.getDocument()).setDocumentFilter(filter);
}