Limitar o numero de Digitos no JtextField

Boa tarde!

Eu tenho um jtextField , que só aceita número e gostaria de saber como faço para limitar o número de dígitos nele.

Abrigada.

Eu uso esse método:

public static String maxLength(String entrada,int tamanho){
    StringBuffer saida = new StringBuffer();
    char[] caracteres = removeCaracters(entrada).toCharArray();
    for(int i=0;i<caracteres.length && i<=tamanho;i++){
       saida.append(caracteres[i]);
    }
    return saida.toString();
}

E no evento do campo chamo assim:

txtOu.addKeyListener(
         		new KeyListener(){
 
 					public void keyTyped(KeyEvent e) {
 						txtOu.setText(maxLength(txtOu.getText(),8));
 					}
 
 					public void keyPressed(KeyEvent e) {
 						txtOu.setText(maxLength(txtOu.getText(),8));
 					}
 
 					public void keyReleased(KeyEvent e) {
 						txtOu.setText(maxLength(txtOu.getText(),8));
 					}
         			
         		}
);

Pedrosa,
O que o “removeCaracteres(String)” faz???

Coloquei este código, mas esta dando este erro:
/home/lorena/XComERP/src/xcomerp/test/XtextField_int.java:124: void cannot be dereferenced
char[] caracteres = removeCaracters(entrada).toCharArray();

Segue o método, que permite somente números, agora funciona.

public static String removeCaracters(String entrada){
	     Pattern numericos = Pattern.compile("[0-9]",Pattern.CASE_INSENSITIVE);
	     Matcher encaixe = numericos.matcher(entrada);
	     StringBuffer saida = new StringBuffer();
	     while(encaixe.find())
	        saida.append(encaixe.group());
	     return saida.toString();
}

:smiley: Muito obrigada Pedrosa, ficou ótimo.

ae aonde q coloco esse evento ele da erro
coloquei no mouse pressed e da erro aqui

jtf_longe_od_esf.addKeyListener(
new KeyListener(){

                public void keyTyped(KeyEvent e) {   
                    jtf_longe_od_esf.setText(maxLength(jtf_longe_od_esf.getText(),8));   
                }   

                public void keyPressed(KeyEvent e) {   
                    jtf_longe_od_esf.setText(maxLength(jtf_longe_od_esf.getText(),8));   
                }   

                public void keyReleased(KeyEvent e) {   
                    jtf_longe_od_esf.setText(maxLength(jtf_longe_od_esf.getText(),8));   
                }   
                   
            }   

);

no maxLength da erro diz settext em jcomponet nao pode ser aplicado

e esse metodo aqui aonde que eu uso ele ???

public static String removeCaracters(String entrada){
Pattern numericos = Pattern.compile("[0-9]",Pattern.CASE_INSENSITIVE);
Matcher encaixe = numericos.matcher(entrada);
StringBuffer saida = new StringBuffer();
while(encaixe.find())
saida.append(encaixe.group());
return saida.toString();
}

como uso no jtf_longe_od_esf esse nome do meu jtextfield