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