Problema com JGoodies Binding + MaskFormatter

0 respostas
A

Olá,

Estou tendo um problema que é o seguinte. Criei um JFormattedTextfield com um MaskFormatter como default formatter da seguinte forma:
AbstractFormatter cartaoDisplayFormatter = null;
try {
	cartaoDisplayFormatter = new MaskFormatter ("#### #### #### ####");
} catch (Exception e) {
	e.printStackTrace();
}	
DefaultFormatterFactory cartaoFormatterFactory = new DefaultFormatterFactory (cartaoDisplayFormatter);
ValueModel cartaoVM = presentationModel.getModel(Cartao.PROPERTYNAME_NUMERO);
BasicComponentFactory.createFormattedTextField(cartaoVM, cartaoFormatterFactory);
Depois coloquei um um PropertyChangeListener no presentationModel:
presentationModel = new PresentationModel<Cartao>(new Cartao());	presentationModel.addBeanPropertyChangeListener( new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            System.out.println();
            System.out.println("Fonte: " + evt.getSource());
            System.out.println(
                    "alterou '" + evt.getPropertyName()
                  + "' de '" + evt.getOldValue()
                  + "' para '" + evt.getNewValue() + "'.");
        }
});
Classe Cartao:
public class Cartao extends Model
{
	public static final String PROPERTYNAME_NUMERO = "numero";

        private String numero;
        //...Outros atributos

        public void setNumero(String numero)
	{
		String numeroAntigo = numero;
		this.numero = numero;
		firePropertyChange(PROPERTYNAME_NUMERO, numeroAntigo, this.numero);
	}

O problema que está acontecendo é que quando está ocorrendo uma alteração no ValueModel cartaoVM, o listener não está sendo avisado. Ocorre apenas com os ValueModel em que o formattedtextfield usa o maskformatter, os demais estão funcionando normalmente.

Se alguém puder me ajudar a resolver este problema fico muito grato.

Valeu!

Criado 21 de fevereiro de 2008
Respostas 0
Participantes 1