Limitar caracter de JTextField

Pessoal,

eu estou com problemas para fazer limitacao de caracter do JTextField … estou tentando fazer com que o usuario digite apenas inteiros no campo “Ano”, e apenas quatro numeros. mas o problema eh que nao consigo escrever nada no campo …
veja a minha classe abaixo:

package informacoes;

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.BorderFactory;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.text.MaskFormatter;

public class Info extends JPanel {
	
	JPanel painel = new JPanel();
	JTextField ano, area;
	
	public Info() {
		MaskFormatter mask = new MaskFormatter();  
		mask.setValidCharacters("0123456789"); // adicione os caracteres validos  
		
		GridBagConstraints grid = new GridBagConstraints();
		GridBagLayout layout = new GridBagLayout();
		painel.setLayout(layout);
		
		ano = new JFormattedTextField(mask);
		area = new JTextField("");
		area.setEditable(false);
		
		grid.fill = GridBagConstraints.BOTH;
		
		grid.gridy = 0;
		grid.gridx = 0;
		painel.add(new JLabel("Ano "), grid);
		
		grid.gridy = 0;
		grid.gridx = 1;
		painel.add(ano, grid);
		
		grid.gridy = 1;
		grid.gridx = 0;
		painel.add(new JLabel("Area total "), grid);
		
		grid.gridy = 1;
		grid.gridx = 1;
		painel.add(area, grid);
		
		add(painel);
	}
}

Oi.
Eu acho (acho mesmo, não tenho certeza) que é porque você está definindo a Mask de forma errada.
Tente assim:

MaskFormatter mask = new MaskFormattter();
mask.setValidCharacters("####");

Eu acredito que seja assim cara, mas não tenho muita certeza.

Abraço.

eu sempre usei MaskFormatter assim :

MaskFormatter mask;
try {
mask = new MaskFormatter("####");
} catch(ParseException ex) { }

[quote=m4rcu5]eu sempre usei MaskFormatter assim :

MaskFormatter mask;
try {
mask = new MaskFormatter("####");
} catch(ParseException ex) { }[/quote]

era isso ai mesmo … valew ^^