Top Description Fields Constructors Methods
com.dlsc.gemsfx

public Class YearMonthPicker

extends CustomComboBox<YearMonth>
Class Inheritance
Imports
com.dlsc.gemsfx.skins.YearMonthPickerSkin, javafx.beans.property.ObjectProperty, .SimpleObjectProperty, javafx.css.PseudoClass, javafx.scene.control.Skin, .TextField, javafx.scene.input.KeyCode, .KeyEvent, javafx.scene.layout.Region, javafx.util.StringConverter, org.apache.commons.lang3.StringUtils, java.time.YearMonth, java.time.format.DateTimeFormatter, .DateTimeParseException, java.util.Objects

A control for quickly selecting the month of a year. The format used for the month depends on the converterProperty(). The default converter produces and expects the full month name, e.g. "January", "February", etc. An invalid text resets the value of the picker to null.

Field Summary

Modifier and TypeField and Description
private final ObjectProperty<StringConverter<YearMonth>>
private final TextField
private YearMonthView

Constructor Summary

AccessConstructor and Description
public
YearMonthPicker()

Constructs a new picker.

Method Summary

Modifier and TypeMethod and Description
public void
private void
public final ObjectProperty<StringConverter<YearMonth>>

Returns:

the converter object
converterProperty
()

A converter used to translate a text into a YearMonth object and vice versa.

protected Skin<?>
createDefaultSkin()

Overrides javafx.scene.control.Control.createDefaultSkin.

Create a new instance of the default skin for this control.

public final StringConverter<YearMonth>
public final TextField

Returns:

the editor / text field
getEditor
()

Returns the text field control used for manual input.

public String
getUserAgentStylesheet()

Overrides javafx.scene.layout.Region.getUserAgentStylesheet.

An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method.

public YearMonthView
public final void
private void
Inherited from com.dlsc.gemsfx.CustomComboBox:
buttonDisplayPropertygetButtonDisplaygetClassCssMetaDatagetControlCssMetaDatasetButtonDisplay

Field Detail

converterback to summary
private final ObjectProperty<StringConverter<YearMonth>> converter
editorback to summary
private final TextField editor
yearMonthViewback to summary
private YearMonthView yearMonthView

Constructor Detail

YearMonthPickerback to summary
public YearMonthPicker()

Constructs a new picker.

Method Detail

commitback to summary
public void commit()
commitValueAndShowback to summary
private void commitValueAndShow()
converterPropertyback to summary
public final ObjectProperty<StringConverter<YearMonth>> converterProperty()

A converter used to translate a text into a YearMonth object and vice versa.

Returns:ObjectProperty<StringConverter<YearMonth>>

the converter object

createDefaultSkinback to summary
protected Skin<?> createDefaultSkin()

Overrides javafx.scene.control.Control.createDefaultSkin.

Doc from javafx.scene.control.Control.createDefaultSkin.

Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS -fx-skin or set explicitly in a sub-class with setSkin(...).

Annotations
@Override
getConverterback to summary
public final StringConverter<YearMonth> getConverter()
getEditorback to summary
public final TextField getEditor()

Returns the text field control used for manual input.

Returns:TextField

the editor / text field

getUserAgentStylesheetback to summary
public String getUserAgentStylesheet()

Overrides javafx.scene.layout.Region.getUserAgentStylesheet.

Doc from javafx.scene.layout.Region.getUserAgentStylesheet.

An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method. These styles are used in addition to whatever user-agent stylesheets are in use. This provides a mechanism for third parties to introduce styles for custom controls.

The URL is a hierarchical URI of the form [scheme:][//authority][path]. If the URL does not have a [scheme:] component, the URL is considered to be the [path] component only. Any leading '/' character of the [path] is ignored and the [path] is treated as a path relative to the root of the application's classpath.

Subclasses overriding this method should not assume any particular implementation approach as to the number and frequency with which it is called. For this reason, attempting any kind of dynamic implementation (i.e. returning different user agent stylesheet values) based on some state change is highly discouraged, as there is no guarantee when, or even if, this method will be called. Some JavaFX CSS implementations may choose to cache this response for an indefinite period of time, and therefore there should be no expectation around when this method is called.



package com.example.javafx.app;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MyApp extends Application {

    @Override public void start(Stage stage) {
        Scene scene = new Scene(new Group());
        scene.getStylesheets().add("/com/example/javafx/app/mystyles.css");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
For additional information about using CSS with the scene graph, see the CSS Reference Guide.
Annotations
@Override
getYearMonthViewback to summary
public YearMonthView getYearMonthView()
setConverterback to summary
public final void setConverter(StringConverter<YearMonth> converter)
updateTextAndHidedPopupback to summary
private void updateTextAndHidedPopup()