¿Cómo implemento JDatePicker?

Estoy trabajando con la última versión 1.3.4 de JDatePicker. ¿Cómo debería ser implementado?

Aparece un error del comstackdor: el constructor JDatePanelImpl (UtilDateModel) no está definido. La solución sugerida es: agregar un argumento para que coincida con JDatePanelImpl (DateModel, Properties). ¿Qué debería pasar como argumento de propiedades?

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import java.util.Calendar; import java.util.Date; import org.jdatepicker.impl.*; import org.jdatepicker.util.*; import org.jdatepicker.*; //import org.jdatepicker.graphics.*; class date2 { void GUI() { JFrame f1 = new JFrame(); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.setSize(300, 300); f1.setVisible(true); Container conn = f1.getContentPane(); conn.setLayout(null); UtilDateModel model = new UtilDateModel(); //model.setDate(20,04,2014); JDatePanelImpl datePanel = new JDatePanelImpl(model); JDatePickerImpl datePicker = new JDatePickerImpl(datePanel); f1.add(datePicker); } } 

…Corredor…

 class testDate2 { public void main(String[] args) { date2 d1 = new date2(); d1.GUI(); } } 

Suponiendo que está utilizando 1.3.4, entonces los requisitos del constructor han cambiado …

 UtilDateModel model = new UtilDateModel(); //model.setDate(20,04,2014); // Need this... Properties p = new Properties(); p.put("text.today", "Today"); p.put("text.month", "Month"); p.put("text.year", "Year"); JDatePanelImpl datePanel = new JDatePanelImpl(model, p); // Don't know about the formatter, but there it is... JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter()); 

enter image description here

Usando este AbstractFormatter

 public class DateLabelFormatter extends AbstractFormatter { private String datePattern = "yyyy-MM-dd"; private SimpleDateFormat dateFormatter = new SimpleDateFormat(datePattern); @Override public Object stringToValue(String text) throws ParseException { return dateFormatter.parseObject(text); } @Override public String valueToString(Object value) throws ParseException { if (value != null) { Calendar cal = (Calendar) value; return dateFormatter.format(cal.getTime()); } return ""; } } 

Solo use propiedades en el constructor de JDatePanelImpl

 Properties p = new Properties(); p.put("text.today", "Today"); p.put("text.month", "Month"); p.put("text.year", "Year"); JDatePanelImpl datePanel = new JDatePanelImpl(model, p);