protected DateTextField newDateTextField(final String id, final IModel<M> model)
	{
		final IModel<Date> textFieldModel = new PropertyModel<>(model.getObject(), getId());

		final DateTextField dateTextField = new DateTextField(id, textFieldModel,
			new StyleDateConverter("S-", true))
		{
			/**
			 * The serialVersionUID.
			 */
			private static final long serialVersionUID = 1L;

			/**
			 * {@inheritDoc}
			 */
			@Override
			public Locale getLocale()
			{
				return getSession().getLocale();
			}
		};
		final DatePicker datePicker = new DatePicker()
		{
			/**
			 * The serialVersionUID.
			 */
			private static final long serialVersionUID = 1L;

			/**
			 * {@inheritDoc}
			 */
			@Override
			protected boolean enableMonthYearSelection()
			{
				return true;
			}
		};
		datePicker.setShowOnFieldClick(true);
		dateTextField.add(datePicker);
		dateTextField.setOutputMarkupId(true);
		return dateTextField;
	}
protected DateTextField newDateTextField ( final String id , final IModel < M > model ) { final IModel < Date > textFieldModel = new PropertyModel < > ( model . getObject ( ) , getId ( ) ) ; final DateTextField dateTextField = new DateTextField ( id , textFieldModel , new StyleDateConverter ( "S-" , true ) ) { private static final long serialVersionUID = 1L ; @ Override public Locale getLocale ( ) { return getSession ( ) . getLocale ( ) ; } } ; final DatePicker datePicker = new DatePicker ( ) { private static final long serialVersionUID = 1L ; @ Override protected boolean enableMonthYearSelection ( ) { return true ; } } ; datePicker . setShowOnFieldClick ( true ) ; dateTextField . add ( datePicker ) ; dateTextField . setOutputMarkupId ( true ) ; return dateTextField ; }
Factory method for create the new {@link DateTextField}. This method is invoked in the
constructor from the derived classes and can be overridden so users can provide their own
version of a new {@link DateTextField}.

@param id
the id
@param model
the model
@return the new {@link DateTextField}