Установить формат времени для выбора даты

У меня есть этот пример выбора даты. Подскажите, как мне установить формат даты в календаре?

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.DatePicker;
import javafx.stage.Stage;

import java.time.LocalDate;

public class PickerDemo extends Application {
    @Override public void start(Stage stage) {
        final DatePicker datePicker = new DatePicker(LocalDate.now());
        datePicker.setOnAction(event -> {
            LocalDate date = datePicker.getValue();
            System.out.println("Selected date: " + date);
        });

        stage.setScene(
            new Scene(datePicker)
        );
        stage.show();
    }
    public static void main(String[] args) { launch(args); }
}

person Peter Penzov    schedule 04.12.2013    source источник
comment
Здесь: download.java.net/jdk8/jfxdocs найдите javadoc для DatePicker и посмотрите описание свойства конвертера. Также удалите, пожалуйста, ярлык javafx-2.   -  person Alexander Kirov    schedule 05.12.2013
comment
Любой пример, как я могу это использовать?   -  person Peter Penzov    schedule 05.12.2013


Ответы (1)


Это должно помочь:

datePicker.setConverter(new StringConverter<LocalDate>()
{
    private DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("dd/MM/yyyy");

    @Override
    public String toString(LocalDate localDate)
    {
        if(localDate==null)
            return "";
        return dateTimeFormatter.format(localDate);
    }

    @Override
    public LocalDate fromString(String dateString)
    {
        if(dateString==null || dateString.trim().isEmpty())
        {
            return null;
        }
        return LocalDate.parse(dateString,dateTimeFormatter);
    }
});
person Thunder    schedule 01.02.2014