001    package org.springframework.richclient.form.binding.swing.date;
002    
003    
004    import java.util.Map;
005    
006    import javax.swing.JComponent;
007    
008    import org.springframework.binding.form.FormModel;
009    import org.springframework.richclient.form.binding.Binding;
010    import org.springframework.util.Assert;
011    
012    import com.toedter.calendar.JDateChooser;
013    
014    public class JCalendarDateFieldBinder extends AbstractDateFieldBinder {
015    
016            public JCalendarDateFieldBinder() {
017                    super(new String[] { DATE_FORMAT });
018            }
019    
020            protected JComponent createControl(Map context) {
021                    return new JDateChooser();
022            }
023    
024            protected Binding doBind(JComponent control, FormModel formModel, String formPropertyPath, Map context) {
025                    Assert.isTrue(control instanceof JDateChooser, "Control must be an instance of JDateChooser.");
026                    JCalendarDateFieldBinding binding = new JCalendarDateFieldBinding((JDateChooser) control, formModel,
027                                    formPropertyPath);
028                    applyContext(binding, context);
029    
030                    return binding;
031            }
032    
033    }