Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет 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(LocalDate). Значение по умолчанию — 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, 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​(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, getInitialFocusTraversable, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, 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, 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, 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, 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
      Можно предоставить пользовательскую фабрику ячеек для настройки отдельных ячеек дня в всплывающем окне 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 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;
             }
         }
       
      См. также:
      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()
      Получает значение свойства конвертера.
      Описание свойства:
      Преобразует входной текст в объект типа 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()
      Получает значение свойства редактора.
      Описание свойства:
      Редактор для 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 элементов управления
      С тех пор:
      JavaFX 8.0
    • queryAccessibleAttribute

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                             Object... parameters)
      Этот метод вызывается технологией вспомогательных средств для запроса значения для атрибута.

      Этот метод обычно переопределяется подклассами для реализации атрибутов, необходимых для определённого роли.
      Если конкретный атрибут не обрабатывается, необходимо вызвать реализацию суперкласса.

      Переопределяет:
      queryAccessibleAttribute в классе ComboBoxBase<LocalDate>
      Параметры:
      attribute - запрашиваемый атрибут
      parameters - необязательный список параметров
      Возвращает:
      значение запрашиваемого атрибута
      См. также:
      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