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