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 }