Spec-Zone.ru › OpenJavaFX 8
javafx.scene.control

Класс DatePicker

java.lang.Object
  • javafx.scene.Node
    • javafx.scene.Parent
      • javafx.scene.layout.Region
        • javafx.scene.control.Control
          • javafx.scene.control.ComboBoxBase<LocalDate>
            • javafx.scene.control.DatePicker

Все реализуемые интерфейсы:

Styleable, EventTarget, Skinnable



public class DatePicker
extends ComboBoxBase<LocalDate>
Контрол DatePicker позволяет пользователю ввести дату в виде текста или выбрать дату из всплывающего календаря. Календарь основан на стандартной хронологии ISO-8601 или на любом другом классе хронологии, определённом в пакете java.time.chrono.

Свойство value представляет текущую выбранную LocalDate. Начальную дату можно установить с помощью constructor или вызвав setValue(). Значение по умолчанию равно null.

final DatePicker datePicker = new DatePicker();
 datePicker.setOnAction(new EventHandler() {
     public void handle(Event t) {
         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

  • Краткое описание свойств

    Все методыМетоды экземпляровКонкретные методы
    Тип Свойство и описание
    ObjectProperty<Chronology> chronology
    Календарная система, используемая для парсинга, отображения и выбора дат в контроле DatePicker.
    ObjectProperty<StringConverter<LocalDate>> converter
    Преобразует вводимый текст в объект типа LocalDate и наоборот.
    ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactory
    Можно предоставить пользовательскую фабрику ячеек для настройки отдельных ячеек с днями во всплывающем окне DatePicker.
    ReadOnlyObjectProperty<TextField> editor
    Редактор для DatePicker.
    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, 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, 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(LocalDate localDate)
    Создаёт экземпляр DatePicker и устанавливает value на заданную дату.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляровКонкретные методы
    Модификатор и тип Метод и описание
    ObjectProperty<Chronology> chronologyProperty()
    Календарная система, используемая для парсинга, отображения и выбора дат в контроле DatePicker.
    ObjectProperty<StringConverter<LocalDate>> converterProperty()
    Преобразует вводимый текст в объект типа LocalDate и наоборот.
    protected Skin<?> createDefaultSkin()
    Создаёт новый экземпляр стандартной темы для этого элемента управления.
    ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactoryProperty()
    Можно предоставить пользовательскую фабрику ячеек для настройки отдельных ячеек с днями во всплывающем окне DatePicker.
    ReadOnlyObjectProperty<TextField> editorProperty()
    Редактор для DatePicker.
    Chronology getChronology()
    Получает значение свойства chronology.
    static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
    List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
    StringConverter<LocalDate> getConverter()
    Получает значение свойства converter.
    Callback<DatePicker,DateCell> getDayCellFactory()
    Получает значение свойства dayCellFactory.
    TextField getEditor()
    Получает значение свойства editor.
    boolean isShowWeekNumbers()
    Получает значение свойства showWeekNumbers.
    Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
    * Обработка доступности * *
    void setChronology(Chronology value)
    Устанавливает значение свойства chronology.
    void setConverter(StringConverter<LocalDate> value)
    Устанавливает значение свойства converter.
    void setDayCellFactory(Callback<DatePicker,DateCell> value)
    Устанавливает значение свойства dayCellFactory.
    void setShowWeekNumbers(boolean value)
    Устанавливает значение свойства showWeekNumbers.
    BooleanProperty showWeekNumbersProperty()
    Выводить ли DatePicker всплывающее окно с колонкой, показывающей номера недель.
    • Методы, унаследованные от класса javafx.scene.control.ComboBoxBase

      arm, armedProperty, disarm, editableProperty, executeAccessibleAction, 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, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
    • Методы, унаследованные от класса javafx.scene.layout.Region

      backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, 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, snapSize, snapSpace, snapToPixelProperty, widthProperty
    • Методы, унаследованные от класса javafx.scene.Parent

      getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, 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, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, 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, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, 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, 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, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Подробное описание свойства

    • dayCellFactory

      public final ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactoryProperty
      Можно предоставить пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне 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

      См. также:

      getDayCellFactory(), setDayCellFactory(Callback)

    • chronology

      public final ObjectProperty<Chronology> chronologyProperty
      Система календаря, используемая для разбора, отображения и выбора дат в элементе управления DatePicker.

      Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). Значение по умолчанию обычно IsoChronology, если явно не указано в Locale с помощью расширения календаря Locale. Установка значения на null восстановит календарь по умолчанию.

      См. также:

      getChronology(), setChronology(Chronology)

    • showWeekNumbers

      public final BooleanProperty showWeekNumbersProperty
      Определяет, должен ли всплывающее окно DatePicker отображать столбец с номерами недель.

      Значение по умолчанию указано в файле ресурсов и зависит от страны текущего языка.

      См. также:

      isShowWeekNumbers(), setShowWeekNumbers(boolean)

    • converter

      public final ObjectProperty<StringConverter<LocalDate>> converterProperty
      Преобразует введенный текст в объект типа LocalDate и наоборот.

      Если не задано приложением, класс кожи DatePicker установит преобразователь, основанный на 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;
             }
         }

      См. также:

      getConverter(), setConverter(StringConverter)

    • editor

      public final ReadOnlyObjectProperty<TextField> editorProperty
      Редактор для DatePicker.

      См. также:

      getEditor()

  • Подробное описание конструкторов

    • DatePicker

      public DatePicker()
      Создает экземпляр DatePicker по умолчанию со значением даты null.
    • DatePicker

      public DatePicker(LocalDate localDate)
      Создает экземпляр DatePicker и устанавливает 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

    • 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

    • dayCellFactoryProperty

      public final ObjectProperty<Callback<DatePicker,DateCell>> dayCellFactoryProperty()
      Можно указать пользовательскую фабрику ячеек для настройки отдельных ячеек дней в всплывающем окне 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

      См. также:

      getDayCellFactory(), setDayCellFactory(Callback)

    • chronologyProperty

      public final ObjectProperty<Chronology> chronologyProperty()
      Система календаря, используемая для анализа, отображения и выбора дат в элементе управления DatePicker.

      Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). По умолчанию обычно используется IsoChronology, если явно не указано в Locale с помощью расширения календаря Locale. Установка значения в null восстановит календарь по умолчанию.

      См. также:

      getChronology(), setChronology(Chronology)

    • getChronology

      public final Chronology getChronology()
      Получает значение свойства chronology.

      Описание свойства:

      Система календаря, используемая для анализа, отображения и выбора дат в элементе управления DatePicker.

      Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). По умолчанию обычно используется IsoChronology, если явно не указано в Locale с помощью расширения календаря Locale. Установка значения в null восстановит календарь по умолчанию.

    • setChronology

      public final void setChronology(Chronology value)
      Устанавливает значение свойства chronology.

      Описание свойства:

      Система календаря, используемая для анализа, отображения и выбора дат в элементе управления DatePicker.

      Значение по умолчанию возвращается из вызова Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT)). По умолчанию обычно используется IsoChronology, если явно не указано в Locale с помощью расширения календаря Locale. Установка значения в null восстановит календарь по умолчанию.

    • showWeekNumbersProperty

      public final BooleanProperty showWeekNumbersProperty()
      Определяет, следует ли отображать в всплывающем окне DatePicker столбец с номерами недель.

      Значение по умолчанию задается в файле ресурсов и зависит от страны текущего региона.

      См. также:

      isShowWeekNumbers(), setShowWeekNumbers(boolean)

    • setShowWeekNumbers

      public final void setShowWeekNumbers(boolean value)
      Устанавливает значение свойства showWeekNumbers.

      Описание свойства:

      Определяет, следует ли отображать в всплывающем окне DatePicker столбец с номерами недель.

      Значение по умолчанию задается в файле ресурсов и зависит от страны текущего региона.

    • isShowWeekNumbers

      public final boolean isShowWeekNumbers()
      Получает значение свойства showWeekNumbers.

      Описание свойства:

      Определяет, следует ли отображать в всплывающем окне DatePicker столбец с номерами недель.

      Значение по умолчанию задается в файле ресурсов и зависит от страны текущего региона.

    • converterProperty

      public final ObjectProperty<StringConverter<LocalDate>> converterProperty()
      Преобразует входной текст в объект типа LocalDate и наоборот.

      Если приложение не установило значение, класс кожи DatePicker установит преобразователь, основанный на 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;
             }
         }

      См. также:

      getConverter(), setConverter(StringConverter)

    • setConverter

      public final void setConverter(StringConverter<LocalDate> value)
      Устанавливает значение свойства converter.

      Описание свойства:

      Преобразует входной текст в объект типа LocalDate и наоборот.

      Если приложение не установило значение, класс кожи DatePicker установит преобразователь, основанный на 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;
             }
         }

    • getConverter

      public final StringConverter<LocalDate> getConverter()
      Получает значение свойства converter.

      Описание свойства:

      Преобразует входной текст в объект типа LocalDate и наоборот.

      Если приложение не установило значение, класс кожи DatePicker установит преобразователь, основанный на 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;
             }
         }

    • getEditor

      public final TextField getEditor()
      Получает значение свойства editor.

      Описание свойства:

      Редактор для DatePicker.

    • editorProperty

      public final ReadOnlyObjectProperty<TextField> editorProperty()
      Редактор для DatePicker.

      См. также:

      getEditor()

    • createDefaultSkin

      protected Skin<?> createDefaultSkin()
      Создает новый экземпляр стандартной кожи для этого элемента управления. Это вызывается для создания кожи для элемента управления, если кожа не задана через CSS -fx-skin или явно задана в подклассе с помощью setSkin(...).

      Переопределяет:

      createDefaultSkin в классе Control

      Возвращает:

      новый экземпляр стандартной кожи для этого элемента управления. Если null, значит у элемента управления нет кожи, если её не предоставил css.

    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()

      Возвращает:

      CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.

    • getControlCssMetaData

      public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()

      Переопределяет:

      getControlCssMetaData в классе Control

      Возвращает:

      неизменяемый список свойств стилей CSS элементов управления

    • queryAccessibleAttribute

      public Object queryAccessibleAttribute(AccessibleAttribute attribute,
                                             Object... parameters)
      * Обработка доступности * *

      Переопределяет:

      queryAccessibleAttribute в классе ComboBoxBase<LocalDate>

      Параметры:

      attribute - запрашиваемый атрибут

      Возвращает:

      значение для запрошенного атрибута

      См. также:

      AccessibleAttribute

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API