package de.saring.util.gui.javafx; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import javafx.util.StringConverter; /** * Custom JavaFX StringConverter class for converting a LocalTime value to * text by using the pattern HH:mm (hours from 0-23) in both directions. * * @author Stefan Saring */ public class TimeToStringConverter extends StringConverter<LocalTime> { private static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm"); private static final DateTimeFormatter TIME_PARSER = DateTimeFormatter.ofPattern("H:m"); @Override public String toString(final LocalTime time) { if (time == null) { return ""; } return TIME_FORMATTER.format(time); } @Override public LocalTime fromString(final String timeText) { return LocalTime.from(TIME_PARSER.parse(timeText)); } }