Validação de JTextField - Problemas ao usar a classe PlainDocument

0 respostas
java
FellipeBotelho

Pessoal, estava pesquisando alguma maneira de fazer a validação de uns campos para o meu formulário e acabei achando a classe PlainDocument que resolvia o problema do jeito que eu desejava. Mas o problema é que ela não funciona. Alguém pode me ajudar?

Classe CaracteresPermitidos.java:

package produto;

import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class CaracteresPermitidos extends PlainDocument{
    public void inserString(int offset, String str, javax.swing.text.AttributeSet attr)throws BadLocationException{
        super.insertString(offset, str.replaceAll("[^a-z|^A-Z|^ ]", ""), attr);
    }
    
    public void replace(int offset, String str, javax.swing.text.AttributeSet attr)throws BadLocationException{
        super.insertString(offset, str.replaceAll("[^a-z|^A-Z|^ ]", ""), attr);
    }
}

Chamada da classe no formulário:

public TelaProduto(){
        initComponents();
        
        nome_produto.setDocument(new CaracteresPermitidos());
}

Até ai tudo bem, só que o campo continua aceitando números.

Ficaria bem agradecido se pudessem me ajudar. Att

Criado 2 de novembro de 2016
Respostas 0
Participantes 1