[RESOLVIDO] Dúvidas com inserção de dados em jTextField

1 resposta Resolvido
java
F

Galera estou usando uma classe no meu projeto, para controlar quais caracteres podem ser inseridos nos meus jTextField, mas isso também está impedindo usar barra de espaço.

Alguém sabe qual a expressão regular para habilitar os espaços?

O código é esse:

public class LimitaDigitos_AlfaNum extends PlainDocument{
    private int quantidadeMax;
    
    public LimitaDigitos_AlfaNum(int maxLen){
        super();
        if(maxLen<=0)
            throw new IllegalArgumentException("Especifique a quantidade!");
        quantidadeMax=maxLen;
    }
    
    public void insertString(int offset, String str, AttributeSet attr)
            throws BadLocationException{
        if(str==null||getLength()==quantidadeMax)
            return;
        int totalquantia=(getLength()+str.length());
        if(totalquantia<=quantidadeMax){
            super.insertString(offset, str.replaceAll("[^a-z|^A-Z|^0-9]",""), attr);
            return;
        }
        String nova = str.substring(0,getLength()-quantidadeMax);
        super.insertString(offset, nova, attr);
    }
}

1 Resposta

staroski
Solucao aceita

Poderias usar o \s que corresponde à [ \t\n\x0B\f\r]
A documentação da classe Pattern traz todas essas informações

Criado 12 de dezembro de 2016
Ultima resposta 12 de dez. de 2016
Respostas 1
Participantes 2