- 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暦体系に定義されますが、別の暦に基づくアプリケーションがChronology
APIに用意されている変換方法を使用して、対応するChronoLocalDate
値を取得または設定する場合があります。 次に例を示します。LocalDate isoDate = datePicker.getValue(); ChronoLocalDate chronoDate = ((isoDate != null) ? datePicker.getChronology().date(isoDate) : null); System.err.println("Selected date: " + chronoDate);
- 導入されたバージョン:
- JavaFX 8.0
-
-
プロパティのサマリー
プロパティ Type プロパティ 説明 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.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.Parentで宣言されたプロパティ
needsLayout
-
クラス javafx.scene.layout.Regionで宣言されたプロパティ
background、border、cacheShape、centerShape、height、insets、maxHeight、maxWidth、minHeight、minWidth、opaqueInsets、padding、prefHeight、prefWidth、scaleShape、shape、snapToPixel、width
-
-
フィールドのサマリー
-
クラス javafx.scene.control.ComboBoxBaseで宣言されたフィールド
ON_HIDDEN、ON_HIDING、ON_SHOWING、ON_SHOWN
-
クラス javafx.scene.Nodeで宣言されたフィールド
BASELINE_OFFSET_SAME_AS_HEIGHT
-
クラス javafx.scene.layout.Regionで宣言されたフィールド
USE_COMPUTED_SIZE、USE_PREF_SIZE
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DatePicker()
日付の値をnull
に設定したデフォルトのDatePickerインスタンスを作成します。DatePicker(LocalDate localDate)
DatePickerインスタンスを作成し、value
を指定された日付に設定します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 ObjectProperty<Chronology>
chronologyProperty()
DatePickerコントロールの日付を解析、表示および選択するために使用されるカレンダ・システム。ObjectProperty<StringConverter<LocalDate>>
converterProperty()
入力テキストをLocalDate型のオブジェクトに、およびその逆に変換します。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()
プロパティ・エディタの値を取得します。boolean
isShowWeekNumbers()
プロパティshowWeekNumbersの値を取得します。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、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, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty
-
クラス 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, 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, 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, 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.scene.Parentで宣言されたメソッド
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
クラス 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.css.Styleableで宣言されたメソッド
getStyleableNode, getStyleClass
-
-
-
-
プロパティの詳細
-
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))
への呼出しから返されます。 デフォルトは、Localeカレンダ拡張を使用してLocale
に明示的に指定されている場合を除き、通常、IsoChronology
です。 値をnull
に設定すると、デフォルトの暦が復元されます。
-
showWeekNumbers
public final BooleanProperty showWeekNumbersProperty
DatePickerポップアップが週番号を示す列を表示するかどうか。デフォルト値は、リソース・バンドルに指定され、現在のロケールの国によって異なります。
-
converter
public final ObjectProperty<StringConverter<LocalDate>> converterProperty
入力テキストをLocalDate型のオブジェクトに、およびその逆に変換します。アプリケーションによって設定されない場合は、現在の
Locale
およびchronology
に対するDateTimeFormatter
に基づいてDatePickerスキン・クラスがコンバータを設定します。 このフォーマッタは、その後、現在の日付の値の解析と表示に使用されます。 値を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; } } });
年の2桁のみが含まれている入力を解析するためのデフォルトの基準年は2000です(
DateTimeFormatter
を参照)。 このデフォルトは、個人の生年月日の入力を許可する場合には適していません。 次の例では、コンバータのfromString()メソッドを変更して、生年月日の2桁の年を最大で過去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のエディタ。- 関連項目:
getEditor()
-
-
メソッドの詳細
-
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))
への呼出しから返されます。 デフォルトは、Localeカレンダ拡張を使用してLocale
に明示的に指定されている場合を除き、通常、IsoChronology
です。 値をnull
に設定すると、デフォルトの暦が復元されます。
-
getChronology
public final Chronology getChronology()
プロパティchronologyの値を取得します。- プロパティの説明:
- DatePickerコントロールの日付を解析、表示および選択するために使用されるカレンダ・システム。
デフォルト値は、
Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT))
への呼出しから返されます。 デフォルトは、Localeカレンダ拡張を使用してLocale
に明示的に指定されている場合を除き、通常、IsoChronology
です。 値をnull
に設定すると、デフォルトの暦が復元されます。
-
setChronology
public final void setChronology(Chronology value)
プロパティchronologyの値を設定します。- プロパティの説明:
- DatePickerコントロールの日付を解析、表示および選択するために使用されるカレンダ・システム。
デフォルト値は、
Chronology.ofLocale(Locale.getDefault(Locale.Category.FORMAT))
への呼出しから返されます。 デフォルトは、Localeカレンダ拡張を使用してLocale
に明示的に指定されている場合を除き、通常、IsoChronology
です。 値をnull
に設定すると、デフォルトの暦が復元されます。
-
showWeekNumbersProperty
public final BooleanProperty showWeekNumbersProperty()
DatePickerポップアップが週番号を示す列を表示するかどうか。デフォルト値は、リソース・バンドルに指定され、現在のロケールの国によって異なります。
-
setShowWeekNumbers
public final void setShowWeekNumbers(boolean value)
プロパティshowWeekNumbersの値を設定します。- プロパティの説明:
- DatePickerポップアップが週番号を示す列を表示するかどうか。
デフォルト値は、リソース・バンドルに指定され、現在のロケールの国によって異なります。
-
isShowWeekNumbers
public final boolean isShowWeekNumbers()
プロパティshowWeekNumbersの値を取得します。- プロパティの説明:
- DatePickerポップアップが週番号を示す列を表示するかどうか。
デフォルト値は、リソース・バンドルに指定され、現在のロケールの国によって異なります。
-
converterProperty
public final ObjectProperty<StringConverter<LocalDate>> converterProperty()
入力テキストをLocalDate型のオブジェクトに、およびその逆に変換します。アプリケーションによって設定されない場合は、現在の
Locale
およびchronology
に対するDateTimeFormatter
に基づいてDatePickerスキン・クラスがコンバータを設定します。 このフォーマッタは、その後、現在の日付の値の解析と表示に使用されます。 値を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; } } });
年の2桁のみが含まれている入力を解析するためのデフォルトの基準年は2000です(
DateTimeFormatter
を参照)。 このデフォルトは、個人の生年月日の入力を許可する場合には適していません。 次の例では、コンバータのfromString()メソッドを変更して、生年月日の2桁の年を最大で過去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; } }
-
setConverter
public final void setConverter(StringConverter<LocalDate> value)
プロパティconverterの値を設定します。- プロパティの説明:
- 入力テキストをLocalDate型のオブジェクトに、およびその逆に変換します。
アプリケーションによって設定されない場合は、現在の
Locale
およびchronology
に対するDateTimeFormatter
に基づいてDatePickerスキン・クラスがコンバータを設定します。 このフォーマッタは、その後、現在の日付の値の解析と表示に使用されます。 値を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; } } });
年の2桁のみが含まれている入力を解析するためのデフォルトの基準年は2000です(
DateTimeFormatter
を参照)。 このデフォルトは、個人の生年月日の入力を許可する場合には適していません。 次の例では、コンバータのfromString()メソッドを変更して、生年月日の2桁の年を最大で過去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型のオブジェクトに、およびその逆に変換します。
アプリケーションによって設定されない場合は、現在の
Locale
およびchronology
に対するDateTimeFormatter
に基づいてDatePickerスキン・クラスがコンバータを設定します。 このフォーマッタは、その後、現在の日付の値の解析と表示に使用されます。 値を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; } } });
年の2桁のみが含まれている入力を解析するためのデフォルトの基準年は2000です(
DateTimeFormatter
を参照)。 このデフォルトは、個人の生年月日の入力を許可する場合には適していません。 次の例では、コンバータのfromString()メソッドを変更して、生年月日の2桁の年を最大で過去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()
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 戻り値:
- このクラスに関連付けられたCssMetaData。スーパークラスのCssMetaDataを含むことがあります。
-
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- オーバーライド:
getControlCssMetaData
、クラス:Control
- 戻り値:
- コントロールのCSSでスタイル設定可能なプロパティの変更不可能なリスト
- 導入されたバージョン:
- JavaFX 8.0
-
-