Binding de propriedade Date com genesis. como? [RESOLVIDO]

Alguem já conseguiu fazer binding de propriedades do tipo java.util.Date com o genesis, estou numa briga feia aqui.

sempre pego o mesmo erro:

java.lang.NullPointerException
   at net.java.dev.genesis.ui.controller.DefaultFormController.updateChangedMap(DefaultFormController.java:237)
   at net.java.dev.genesis.ui.controller.DefaultFormController.populate(DefaultFormController.java:190)
   at net.java.dev.genesis.ui.controller.DefaultFormController.populate(DefaultFormController.java:174)
   at net.java.dev.genesis.ui.binding.AbstractBinder.populateForm(AbstractBinder.java:813)
   at net.java.dev.genesis.ui.swing.components.JTextComponentBinder$JTextComponentBoundField.updateForm(JTextComponentBinder.java:191)
   at net.java.dev.genesis.ui.swing.components.JTextComponentBinder$1.focusLost(JTextComponentBinder.java:85)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:213)
   at java.awt.Component.processFocusEvent(Component.java:5930)
   at java.awt.Component.processEvent(Component.java:5794)
   at java.awt.Container.processEvent(Container.java:2058)
   at java.awt.Component.dispatchEventImpl(Component.java:4410)
   at java.awt.Container.dispatchEventImpl(Container.java:2116)
   at java.awt.Component.dispatchEvent(Component.java:4240)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:882)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:555)
   at java.awt.Component.dispatchEventImpl(Component.java:4282)
   at java.awt.Container.dispatchEventImpl(Container.java:2116)
   at java.awt.Component.dispatchEvent(Component.java:4240)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Procurei na lista do projeto e nenhum erro parecido, se trocar a propriedade por String vai normal, estou tentanto um exemplo bobo com um campo String e um Date e sempre o mesmo erro.

manda o codigo do form
mas provalvelmente vc nao esta dando um new Date();

[quote=cpmmarcelo]manda o codigo do form
mas provalvelmente vc nao esta dando um new Date();
[/quote]

Segue o código de exemplo:

import java.util.Date;
import net.java.dev.genesis.annotation.Action;
import net.java.dev.genesis.annotation.Form;
/*
 * TesteViewHandler.java
 *
 * Created on November 5, 2007, 11:27 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author maxwell
 */
@Form
public class TesteViewHandler {
    
    private String nome;
    
    private Date data;
    
    /** Creates a new instance of TesteViewHandler */
    public TesteViewHandler() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }
    
    @Action
    public void testar(){
        System.out.println("nome: " + nome);
        System.out.println("data: " + data);
    }
    
}
import java.awt.BorderLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import net.java.dev.genesis.annotation.ViewHandler;
import net.java.dev.genesis.ui.swing.SwingBinder;
/*
 * View.java
 *
 * Created on November 6, 2007, 1:32 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author maxwell
 */
@ViewHandler
public class View extends JFrame {
    
    SwingBinder binder;
    
    /** Creates a new instance of View */
    public View() {
        binder = new SwingBinder(this,new TesteViewHandler());
        init();
        binder.bind();
        
    }
    
    public void init(){
        
        setLayout(new BorderLayout());
        JLabel labelNome = new JLabel("Nome:");
        JLabel labelData = new JLabel("Data:");
        JTextField textNome = new JTextField();       
        textNome.setName("nome");
        JTextField textData = new JTextField();
        textData.setName("data");
        JButton buttonTestar = new JButton("Testar");
        buttonTestar.setName("testar");
        JPanel panel = new JPanel(new GridLayout(3,2));
        JPanel panel2 = new JPanel();
        panel.add(labelNome);
        panel.add(textNome);
        panel.add(labelData);
        panel.add(textData);
        panel2.add(buttonTestar);
         
        add(panel,BorderLayout.CENTER);
        add(panel2,BorderLayout.SOUTH);
        
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        pack();
        
    }
    
    public static void main(String args[]){
        
        View view = new View();
        view.setVisible(true);
    }
    
}

cara coloca isto no construtor

   public TesteViewHandler() {  
             data = new Date();
  
     }  

Não resolve, já tinha feito isso, fiz novamente para ter certeza e quando carregar a tela, o jtextfield está preenchido com:

Que é o toString() da propriedade data.

Mas se você clicar nele e clicar em outro local para tirar o foco, mesmo sem alterar nada já mostra o mesmo erro.

Não tem que registrar nenhum conversor para o binding ou algo assim?

usa um JFormattedTextField e formata ele com data

MaskFormatter msk = new MaskFormatter();
msk.setPlaceholderCharacter('_');
msk.setMask("##/##/##"); 
msk.install(jFormattedTextField);

A aplicação real já estava com o JFormattedTextField eu troquei pelo JTextField no exemplo pq pensei que poderia ser isso o problema.

Mesmo o JFormattedTextField o problema continua.

Estava faltando inicializar a classe StartupHelper do genesis…