Класс DatePicker
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
public class DatePicker extends ComboBoxBase<LocalDate>
Свойство value представляет текущую выбранную LocalDate. Начальную дату можно установить через constructor или вызвав setValue(LocalDate). Значение по умолчанию равно null.
DatePicker datePicker = new DatePicker();
datePicker.setOnAction(e -> {
LocalDate date = datePicker.getValue();
System.err.println("Selected date: " + date);
}); Свойство chronology определяет систему календаря, используемую для анализа, отображения и выбора дат. Свойство value всегда определено в системе календаря ISO, однако приложения, основанные на другой хронологии, могут использовать методы преобразования, предоставленные в API Chronology, чтобы получить или установить соответствующее значение ChronoLocalDate. Например:
LocalDate isoDate = datePicker.getValue();
ChronoLocalDate chronoDate =
((isoDate != null) ? datePicker.getChronology().date(isoDate) : null);
System.err.println("Selected date: " + chronoDate);
- С:
- JavaFX 8.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<Chronology> |
chronology |
Система календаря, используемая для разбора, отображения и выбора дат в элементе управления DatePicker. |
final ObjectProperty<StringConverter<LocalDate>> |
converter |
Преобразует вводимый текст в объект типа LocalDate и обратно. |
final ObjectProperty<Callback<DatePicker, |
dayCellFactory |
Можно указать пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне DatePicker. |
final ReadOnlyObjectProperty<TextField> |
editor |
Редактор для элемента управления DatePicker. |
final BooleanProperty |
showWeekNumbers |
Определяет, должен ли всплывающее окно DatePicker отображать столбец с номерами недель. |
Свойства, объявленные в классе javafx.scene.control.ComboBoxBase
armed, editable, onAction, onHidden, onHiding, onShowing, onShown, promptText, showing, value
Свойства, объявленные в классе javafx.scene.control.Control
contextMenu, skin, tooltip
Свойства, объявленные в классе javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Свойства, объявленные в классе javafx.scene.Parent
needsLayout
Свойства, объявленные в классе javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
Краткое описание полей
Поля, объявленные в классе javafx.scene.control.ComboBoxBase
ON_HIDDEN, ON_HIDING, ON_SHOWING, ON_SHOWN
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DatePicker() |
Создаёт экземпляр DatePicker по умолчанию со значением даты null. |
DatePicker |
Создаёт экземпляр DatePicker и устанавливает value на заданную дату. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
cancelEdit() |
Если DatePicker имеет свойство editable, вызов этого метода попытается заменить текст редактора последним сохранённым значением value. |
final ObjectProperty<Chronology> |
chronologyProperty() |
Система календаря, используемая для разбора, отображения и выбора дат в элементе управления DatePicker. |
final void |
commitValue() |
Если у DatePicker свойство editable установлено, вызов этого метода попытается сохранить текущий текст и преобразовать его в value. |
final ObjectProperty<StringConverter<LocalDate>> |
converterProperty() |
Преобразует вводимый текст в объект типа LocalDate и обратно. |
final ObjectProperty<Callback<DatePicker, |
dayCellFactoryProperty() |
Можно указать пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне DatePicker. |
final ReadOnlyObjectProperty<TextField> |
editorProperty() |
Редактор для элемента управления DatePicker. |
final Chronology |
getChronology() |
Получает значение свойства chronology. |
static List<CssMetaData<? extends Styleable, |
getClassCssMetaData() |
Получает связанные с этим классом CssMetaData, которые могут включать CssMetaData его суперклассов. |
List<CssMetaData<? extends Styleable, |
getControlCssMetaData() |
Получает неизменяемый список стилизуемых свойств управления CSS. |
final StringConverter<LocalDate> |
getConverter() |
Получает значение свойства converter. |
final Callback<DatePicker, |
getDayCellFactory() |
Получает значение свойства dayCellFactory. |
final TextField |
getEditor() |
Получает значение свойства editor. |
final boolean |
isShowWeekNumbers() |
Получает значение свойства showWeekNumbers. |
final void |
setChronology |
Устанавливает значение свойства chronology. |
final void |
setConverter |
Устанавливает значение свойства converter. |
final void |
setDayCellFactory |
Устанавливает значение свойства dayCellFactory. |
final void |
setShowWeekNumbers |
Устанавливает значение свойства showWeekNumbers. |
final BooleanProperty |
showWeekNumbersProperty() |
Определяет, должен ли всплывающее окно DatePicker отображать столбец с номерами недель. |
Методы, объявленные в классе javafx.scene.control.ComboBoxBase
arm, armedProperty, disarm, editableProperty, getOnAction, getOnHidden, getOnHiding, getOnShowing, getOnShown, getPromptText, getValue, hide, isArmed, isEditable, isShowing, onActionProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, promptTextProperty, setEditable, setOnAction, setOnHidden, setOnHiding, setOnShowing, setOnShown, setPromptText, setValue, show, showingProperty, valueProperty
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробное описание свойств
dayCellFactory
public final ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactoryProperty
DateCell и Cell. Пример:
final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() {
public DateCell call(final DatePicker datePicker) {
return new DateCell() {
@Override public void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
if (MonthDay.from(item).equals(MonthDay.of(9, 25))) {
setTooltip(new Tooltip("Happy Birthday!"));
setStyle("-fx-background-color: #ff4444;");
}
if (item.equals(LocalDate.now().plusDays(1))) {
// Tomorrow is too soon.
setDisable(true);
}
}
};
}
};
datePicker.setDayCellFactory(dayCellFactory);
- Значение по умолчанию:
- null
- См. также:
chronology
public final ObjectProperty<Chronology> chronologyProperty
Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). Значение по умолчанию обычно IsoChronology, если не задано явно в Locale с помощью расширения календаря Locale. Установка значения на null восстановит календарь по умолчанию.
showWeekNumbers
public final BooleanProperty showWeekNumbersProperty
Значение по умолчанию задано в ресурсном файле и зависит от страны текущего языка.
converter
public final ObjectProperty<StringConverter<LocalDate>> converterProperty
Если не установлено приложением, класс DatePicker skin установит преобразователь на основе DateTimeFormatter для текущего Locale и chronology. Этот форматер затем используется для анализа и отображения текущего значения даты. Установка значения на null восстановит преобразователь по умолчанию.
Пример использования явного форматера:
datePicker.setConverter(new StringConverter<LocalDate>() {
String pattern = "yyyy-MM-dd";
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern);
{
datePicker.setPromptText(pattern.toLowerCase());
}
@Override public String toString(LocalDate date) {
if (date != null) {
return dateFormatter.format(date);
} else {
return "";
}
}
@Override public LocalDate fromString(String string) {
if (string != null && !string.isEmpty()) {
return LocalDate.parse(string, dateFormatter);
} else {
return null;
}
}
});
Пример, который оборачивает форматер по умолчанию и обрабатывает исключения при анализе:
final StringConverter<LocalDate> defaultConverter = datePicker.getConverter();
datePicker.setConverter(new StringConverter<LocalDate>() {
@Override public String toString(LocalDate value) {
return defaultConverter.toString(value);
}
@Override public LocalDate fromString(String text) {
try {
return defaultConverter.fromString(text);
} catch (DateTimeParseException ex) {
System.err.println("HelloDatePicker: "+ex.getMessage());
throw ex;
}
}
});
Базовый год по умолчанию для анализа ввода, содержащего только две цифры для года, составляет 2000 (см. DateTimeFormatter). Это значение по умолчанию не подходит для ввода даты рождения. Следующий пример изменяет метод fromString() преобразователя, чтобы разрешить ввод двухзначного года для дат рождения до 99 лет назад.
@Override public LocalDate fromString(String text) {
if (text != null && !text.isEmpty()) {
Locale locale = Locale.getDefault(Locale.Category.FORMAT);
Chronology chrono = datePicker.getChronology();
String pattern =
DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.SHORT,
null, chrono, locale);
String prePattern = pattern.substring(0, pattern.indexOf("y"));
String postPattern = pattern.substring(pattern.lastIndexOf("y")+1);
int baseYear = LocalDate.now().getYear() - 99;
DateTimeFormatter df = new DateTimeFormatterBuilder()
.parseLenient()
.appendPattern(prePattern)
.appendValueReduced(ChronoField.YEAR, 2, 2, baseYear)
.appendPattern(postPattern)
.toFormatter();
return LocalDate.from(chrono.date(df.parse(text)));
} else {
return null;
}
}
editor
public final ReadOnlyObjectProperty<TextField> editorProperty
- См. также:
Подробное описание конструкторов
DatePicker
public DatePicker()
null.DatePicker
public DatePicker(LocalDate localDate)
value на заданную дату.- Параметры:
-
localDate- для установки выбранной даты в DatePicker. Может быть null.
Подробное описание методов
setDayCellFactory
public final void setDayCellFactory(Callback<DatePicker,DateCell> value)
dayCellFactory.- Описание свойства:
- Можно указать пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне DatePicker. Дополнительную информацию о фабриках ячеек см. в
DateCellиCell. Пример:final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() { public DateCell call(final DatePicker datePicker) { return new DateCell() { @Override public void updateItem(LocalDate item, boolean empty) { super.updateItem(item, empty); if (MonthDay.from(item).equals(MonthDay.of(9, 25))) { setTooltip(new Tooltip("Happy Birthday!")); setStyle("-fx-background-color: #ff4444;"); } if (item.equals(LocalDate.now().plusDays(1))) { // Tomorrow is too soon. setDisable(true); } } }; } }; datePicker.setDayCellFactory(dayCellFactory); - Значение по умолчанию:
- null
- Параметры:
-
value- значение для свойстваdayCellFactory - См. также:
getDayCellFactory
public final Callback<DatePicker,DateCell> getDayCellFactory()
dayCellFactory.- Описание свойства:
- Можно указать пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне DatePicker. Дополнительную информацию о фабриках ячеек см. в
DateCellиCell. Пример:final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() { public DateCell call(final DatePicker datePicker) { return new DateCell() { @Override public void updateItem(LocalDate item, boolean empty) { super.updateItem(item, empty); if (MonthDay.from(item).equals(MonthDay.of(9, 25))) { setTooltip(new Tooltip("Happy Birthday!")); setStyle("-fx-background-color: #ff4444;"); } if (item.equals(LocalDate.now().plusDays(1))) { // Tomorrow is too soon. setDisable(true); } } }; } }; datePicker.setDayCellFactory(dayCellFactory); - Значение по умолчанию:
- null
- Возвращает:
- значение свойства
dayCellFactory - См. также:
dayCellFactoryProperty
public final ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactoryProperty()
DateCell и Cell. Пример:
final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() {
public DateCell call(final DatePicker datePicker) {
return new DateCell() {
@Override public void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
if (MonthDay.from(item).equals(MonthDay.of(9, 25))) {
setTooltip(new Tooltip("Happy Birthday!"));
setStyle("-fx-background-color: #ff4444;");
}
if (item.equals(LocalDate.now().plusDays(1))) {
// Tomorrow is too soon.
setDisable(true);
}
}
};
}
};
datePicker.setDayCellFactory(dayCellFactory);
- Значение по умолчанию:
- null
- Возвращает:
- свойство
dayCellFactory - См. также:
chronologyProperty
public final ObjectProperty<Chronology> chronologyProperty()
Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). Значение по умолчанию обычно IsoChronology, если не задано явно в Locale с помощью расширения календаря Locale. Установка значения на null восстановит календарь по умолчанию.
- Возвращает:
- свойство, представляющее используемый календарь
- См. также:
getChronology
public final Chronology getChronology()
chronology.- Описание свойства:
- Система календаря, используемая для анализа, отображения и выбора дат в элементе управления DatePicker.
Значение по умолчанию возвращается из вызова
Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). Значение по умолчанию обычноIsoChronology, если не задано явно вLocaleс помощью расширения календаря Locale. Установка значения наnullвосстановит календарь по умолчанию. - Возвращает:
- значение свойства
chronology - См. также:
setChronology
public final void setChronology(Chronology value)
chronology.- Описание свойства:
- Календарная система, используемая для парсинга, отображения и выбора дат в элементе управления DatePicker.
Значение по умолчанию возвращается в результате вызова
Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). Значение по умолчанию обычноIsoChronology, если явно не указано вLocaleс помощью расширения календаря Locale. Установка значения вnullвосстановит хронологию по умолчанию. - Параметры:
-
value- значение для свойстваchronology - См. также:
showWeekNumbersProperty
public final BooleanProperty showWeekNumbersProperty()
Значение по умолчанию задано в ресурсном файле и зависит от страны текущего языка.
- Возвращает:
- true, если всплывающее окно должно отображать столбец с номерами недель
- См. также:
setShowWeekNumbers
public final void setShowWeekNumbers(boolean value)
showWeekNumbers.- Описание свойства:
- Определяет, должен ли всплывающий элемент управления DatePicker отображать столбец с номерами недель.
Значение по умолчанию задано в ресурсном файле и зависит от страны текущего языка.
- Параметры:
-
value- значение для свойстваshowWeekNumbers - См. также:
isShowWeekNumbers
public final boolean isShowWeekNumbers()
showWeekNumbers.- Описание свойства:
- Определяет, должен ли всплывающий элемент управления DatePicker отображать столбец с номерами недель.
Значение по умолчанию задано в ресурсном файле и зависит от страны текущего языка.
- Возвращает:
- значение свойства
showWeekNumbers - См. также:
converterProperty
public final ObjectProperty<StringConverter<LocalDate>> converterProperty()
Если не установлено приложением, класс DatePicker skin установит преобразователь, основанный на DateTimeFormatter для текущего Locale и chronology. Этот форматер используется для анализа и отображения текущего значения даты. Установка значения в null восстановит преобразователь по умолчанию.
Пример использования явного форматера:
datePicker.setConverter(new StringConverter<LocalDate>() {
String pattern = "yyyy-MM-dd";
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern);
{
datePicker.setPromptText(pattern.toLowerCase());
}
@Override public String toString(LocalDate date) {
if (date != null) {
return dateFormatter.format(date);
} else {
return "";
}
}
@Override public LocalDate fromString(String string) {
if (string != null && !string.isEmpty()) {
return LocalDate.parse(string, dateFormatter);
} else {
return null;
}
}
});
Пример, который оборачивает форматер по умолчанию и перехватывает исключения анализа:
final StringConverter<LocalDate> defaultConverter = datePicker.getConverter();
datePicker.setConverter(new StringConverter<LocalDate>() {
@Override public String toString(LocalDate value) {
return defaultConverter.toString(value);
}
@Override public LocalDate fromString(String text) {
try {
return defaultConverter.fromString(text);
} catch (DateTimeParseException ex) {
System.err.println("HelloDatePicker: "+ex.getMessage());
throw ex;
}
}
});
Базовый год по умолчанию для анализа входных данных, содержащих только две цифры для года, составляет 2000 (см. DateTimeFormatter). Это значение по умолчанию не подходит для ввода даты рождения человека. Следующий пример изменяет метод fromString() преобразователя, чтобы разрешить двухзначный год для дат рождения до 99 лет назад.
@Override public LocalDate fromString(String text) {
if (text != null && !text.isEmpty()) {
Locale locale = Locale.getDefault(Locale.Category.FORMAT);
Chronology chrono = datePicker.getChronology();
String pattern =
DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.SHORT,
null, chrono, locale);
String prePattern = pattern.substring(0, pattern.indexOf("y"));
String postPattern = pattern.substring(pattern.lastIndexOf("y")+1);
int baseYear = LocalDate.now().getYear() - 99;
DateTimeFormatter df = new DateTimeFormatterBuilder()
.parseLenient()
.appendPattern(prePattern)
.appendValueReduced(ChronoField.YEAR, 2, 2, baseYear)
.appendPattern(postPattern)
.toFormatter();
return LocalDate.from(chrono.date(df.parse(text)));
} else {
return null;
}
}
- Возвращает:
- свойство, представляющее текущий преобразователь строк LocalDate
- См. также:
setConverter
public final void setConverter(StringConverter<LocalDate> value)
converter.- Описание свойства:
- Преобразует входной текст в объект типа LocalDate и обратно.
Если не установлено приложением, класс DatePicker skin установит преобразователь, основанный на
DateTimeFormatterдля текущегоLocaleиchronology. Этот форматер используется для анализа и отображения текущего значения даты. Установка значения вnullвосстановит преобразователь по умолчанию.Пример использования явного форматера:
datePicker.setConverter(new StringConverter<LocalDate>() { String pattern = "yyyy-MM-dd"; DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern); { datePicker.setPromptText(pattern.toLowerCase()); } @Override public String toString(LocalDate date) { if (date != null) { return dateFormatter.format(date); } else { return ""; } } @Override public LocalDate fromString(String string) { if (string != null && !string.isEmpty()) { return LocalDate.parse(string, dateFormatter); } else { return null; } } });Пример, который оборачивает форматер по умолчанию и перехватывает исключения анализа:
final StringConverter<LocalDate> defaultConverter = datePicker.getConverter(); datePicker.setConverter(new StringConverter<LocalDate>() { @Override public String toString(LocalDate value) { return defaultConverter.toString(value); } @Override public LocalDate fromString(String text) { try { return defaultConverter.fromString(text); } catch (DateTimeParseException ex) { System.err.println("HelloDatePicker: "+ex.getMessage()); throw ex; } } });Базовый год по умолчанию для анализа входных данных, содержащих только две цифры для года, составляет 2000 (см.
DateTimeFormatter). Это значение по умолчанию не подходит для ввода даты рождения человека. Следующий пример изменяет метод fromString() преобразователя, чтобы разрешить двухзначный год для дат рождения до 99 лет назад.@Override public LocalDate fromString(String text) { if (text != null && !text.isEmpty()) { Locale locale = Locale.getDefault(Locale.Category.FORMAT); Chronology chrono = datePicker.getChronology(); String pattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.SHORT, null, chrono, locale); String prePattern = pattern.substring(0, pattern.indexOf("y")); String postPattern = pattern.substring(pattern.lastIndexOf("y")+1); int baseYear = LocalDate.now().getYear() - 99; DateTimeFormatter df = new DateTimeFormatterBuilder() .parseLenient() .appendPattern(prePattern) .appendValueReduced(ChronoField.YEAR, 2, 2, baseYear) .appendPattern(postPattern) .toFormatter(); return LocalDate.from(chrono.date(df.parse(text))); } else { return null; } } - Параметры:
-
value- значение для свойстваconverter - См. также:
getConverter
public final StringConverter<LocalDate> getConverter()
converter.- Описание свойства:
- Преобразует входной текст в объект типа LocalDate и обратно.
Если не установлено приложением, класс DatePicker skin установит преобразователь, основанный на
DateTimeFormatterдля текущегоLocaleиchronology. Этот форматер используется для анализа и отображения текущего значения даты. Установка значения вnullвосстановит преобразователь по умолчанию.Пример использования явного форматера:
datePicker.setConverter(new StringConverter<LocalDate>() { String pattern = "yyyy-MM-dd"; DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern); { datePicker.setPromptText(pattern.toLowerCase()); } @Override public String toString(LocalDate date) { if (date != null) { return dateFormatter.format(date); } else { return ""; } } @Override public LocalDate fromString(String string) { if (string != null && !string.isEmpty()) { return LocalDate.parse(string, dateFormatter); } else { return null; } } });Пример, который оборачивает форматер по умолчанию и перехватывает исключения анализа:
final StringConverter<LocalDate> defaultConverter = datePicker.getConverter(); datePicker.setConverter(new StringConverter<LocalDate>() { @Override public String toString(LocalDate value) { return defaultConverter.toString(value); } @Override public LocalDate fromString(String text) { try { return defaultConverter.fromString(text); } catch (DateTimeParseException ex) { System.err.println("HelloDatePicker: "+ex.getMessage()); throw ex; } } });Базовый год по умолчанию для анализа входных данных, содержащих только две цифры для года, составляет 2000 (см.
DateTimeFormatter). Это значение по умолчанию не подходит для ввода даты рождения человека. Следующий пример изменяет метод fromString() преобразователя, чтобы разрешить двухзначный год для дат рождения до 99 лет назад.@Override public LocalDate fromString(String text) { if (text != null && !text.isEmpty()) { Locale locale = Locale.getDefault(Locale.Category.FORMAT); Chronology chrono = datePicker.getChronology(); String pattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.SHORT, null, chrono, locale); String prePattern = pattern.substring(0, pattern.indexOf("y")); String postPattern = pattern.substring(pattern.lastIndexOf("y")+1); int baseYear = LocalDate.now().getYear() - 99; DateTimeFormatter df = new DateTimeFormatterBuilder() .parseLenient() .appendPattern(prePattern) .appendValueReduced(ChronoField.YEAR, 2, 2, baseYear) .appendPattern(postPattern) .toFormatter(); return LocalDate.from(chrono.date(df.parse(text))); } else { return null; } } - Возвращает:
- значение свойства
converter - См. также:
getEditor
public final TextField getEditor()
editor.- Описание свойства:
- Редактор для DatePicker.
- Возвращает:
- значение свойства
editor - См. также:
editorProperty
public final ReadOnlyObjectProperty<TextField> editorProperty()
- Возвращает:
- свойство
editor - См. также:
commitValue
public final void commitValue()
DatePicker является editable, вызов этого метода попытается подтвердить текущий текст и преобразовать его в value.- Since:
- 18
cancelEdit
public final void cancelEdit()
DatePicker является editable, вызов этого метода попытается заменить текст редактора последним подтверждённым value.- Since:
- 18
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, ассоциированную с этим классом, которая может включать CssMetaData его суперклассов.- Возвращает:
CssMetaData
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список стилизуемых CSS свойств компонента
- С:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.