Tuesday, April 24, 2012

How to get nice and simple Date picker in Wicket

For my project in Wicket I needed simple JavaScript based Date picker. To get it - use Maven dependency:
<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-datetime</artifactId>
    <version>1.5.5</version>
</dependency>

Java Code:
import org.apache.wicket.extensions.yui.calendar.DatePicker;
import org.apache.wicket.extensions.yui.calendar.DateTimeField;


//Date field
DateTextField dateTextField = new DateTextField("dateTextField", new PropertyModel<Date>(
        this, "date"), new StyleDateConverter("S-", true));
DatePicker datePicker = new DatePicker();
datePicker.setShowOnFieldClick(true);
datePicker.setAutoHide(true);
dateTextField.add(datePicker);
add(dateTextField);

//Date and time fields
DateTimeField dateTimeField = new DateTimeField("dateTimeField", new PropertyModel<Date>(this, "date")){
    @Override
    protected boolean use12HourFormat() {
        //this will force to use 24 hours format
        return false;
    }
};
add(dateTimeField);

Html code:
<p>Date field: <input type="text" wicket:id="dateTextField" /></p>
<p>Date & time field<span wicket:id="dateTimeField"></span></p>

Result:
I have made another example of Wicket+JQuery date time picker, but this one I like more because it requires less code.

2 comments:

  1. how to set a pattern (format) to datefield?
    for example, for a datefield im use:

    -> DateTextField.forDatePattern("date", "dd/MM/yyyy");

    im not found the way/method for override toString method for datefield value.

    thx!

    ReplyDelete
  2. how to set the start date and end date using wicket java please help me sir/madam urgent work ............

    ReplyDelete