Класс ChoiceBoxTableCell<S,T>
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.Labeled
-
- javafx.scene.control.Cell<T>
-
- javafx.scene.control.IndexedCell<T>
-
- javafx.scene.control.TableCell<S,T>
-
- javafx.scene.control.cell.ChoiceBoxTableCell<S,T>
Параметры типа:
T - Тип элементов, содержащихся в TableColumn.
Все реализуемые интерфейсы:
public class ChoiceBoxTableCell<S,T> extends TableCell<S,T>
TableCell, которая отображает узел ChoiceBox внутри ячейки. По умолчанию, ChoiceBoxTableCell отображается как Label, когда не находится в режиме редактирования, и как ChoiceBox в режиме редактирования. ChoiceBox по умолчанию будет растягиваться на всю ширину ячейки таблицы.
Для создания ChoiceBoxTableCell необходимо предоставить один или несколько элементов, которые будут отображаться пользователю, когда открыто меню ChoiceBox. Эти элементы должны иметь тот же тип, что и TableColumn.
С:
JavaFX 2.2
-
Краткое описание свойств
Все методыМетоды экземпляровКонкретные методы Тип Свойство и описание ObjectProperty<StringConverter<T>>converterСвойствоStringConverter.-
Свойства, унаследованные от класса javafx.scene.control.TableCell
tableColumn, tableRow, tableView
-
Свойства, унаследованные от класса javafx.scene.control.IndexedCell
index
-
Свойства, унаследованные от класса javafx.scene.control.Cell
editable, editing, empty, item, selected
-
Свойства, унаследованные от класса javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText
-
Свойства, унаследованные от класса 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.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
Поля, унаследованные от класса javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Краткое описание конструкторов
Конструкторы Конструктор и описание ChoiceBoxTableCell()Создаёт ChoiceBoxTableCell по умолчанию со списком элементов.ChoiceBoxTableCell(ObservableList<T> items)Создаёт экземплярChoiceBoxTableCellпо умолчанию с заданными элементами для заполненияChoiceBoxпри отображении.ChoiceBoxTableCell(StringConverter<T> converter, ObservableList<T> items)Создаёт экземплярChoiceBoxTableCellс заданными элементами для заполненияChoiceBoxпри отображении, иStringConverterдля преобразования элемента в читаемую форму.ChoiceBoxTableCell(StringConverter<T> converter, T... items)Создаёт экземплярChoiceBoxTableCellс заданными элементами для заполненияChoiceBoxпри отображении, иStringConverterдля преобразования элемента в читаемую форму.ChoiceBoxTableCell(T... items)Создаёт экземплярChoiceBoxTableCellпо умолчанию с заданными элементами для заполненияChoiceBoxпри отображении.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляровКонкретные методы Модификатор и тип Метод и описание voidcancelEdit()Вызов этой функции переводит из состояния редактирования в состояние нередактирования без сохранения введённых данных.ObjectProperty<StringConverter<T>>converterProperty()СвойствоStringConverter.static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>>forTableColumn(ObservableList<T> items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn.static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>>forTableColumn(StringConverter<T> converter, ObservableList<T> items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn.static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>>forTableColumn(StringConverter<T> converter, T... items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn.static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>>forTableColumn(T... items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn.StringConverter<T>getConverter()ВозвращаетStringConverter, используемый в этой ячейке.ObservableList<T>getItems()Возвращает элементы, которые будут отображаться в ChoiceBox при её отображении.voidsetConverter(StringConverter<T> value)УстанавливаетStringConverterдля использования в этой ячейке.voidstartEdit()Вызов этой функции переводит из состояния нередактирования в состояние редактирования, если ячейка редактируемая.voidupdateItem(T item, boolean empty)Метод updateItem не должен вызываться разработчиками, но является лучшим методом для переопределения, чтобы позволить разработчикам настраивать визуальный вид ячейки.-
Методы, унаследованные от класса javafx.scene.control.TableCell
commitEdit, createDefaultSkin, executeAccessibleAction, getTableColumn, getTableRow, getTableView, layoutChildren, queryAccessibleAttribute, tableColumnProperty, tableRowProperty, tableViewProperty, updateSelected, updateTableColumn, updateTableRow, updateTableView
-
Методы, унаследованные от класса javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
-
Методы, унаследованные от класса javafx.scene.control.Cell
editableProperty, editingProperty, emptyProperty, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem
-
Методы, унаследованные от класса javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, toString, underlineProperty, wrapTextProperty
-
Методы, унаследованные от класса javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, 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, 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, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
-
-
Подробное описание свойства
-
converter
public final ObjectProperty<StringConverter<T>> converterProperty
СвойствоStringConverter.
-
-
Подробное описание конструктора
-
ChoiceBoxTableCell
public ChoiceBoxTableCell()
Создаёт стандартный ChoiceBoxTableCell со списком элементов по умолчанию.
-
ChoiceBoxTableCell
@SafeVarargs public ChoiceBoxTableCell(T... items)
Создаёт экземплярChoiceBoxTableCellпо умолчанию, используя переданные элементы для заполненияChoiceBoxпри его отображении.Параметры:
items— Элементы для отображения в выпадающем меню ChoiceBox при выборе пользователем.
-
ChoiceBoxTableCell
@SafeVarargs public ChoiceBoxTableCell(StringConverter<T> converter, T... items)Создаёт экземплярChoiceBoxTableCell, используя переданные элементы для заполненияChoiceBoxпри его отображении, иStringConverterдля преобразования элементов в читаемый вид.Параметры:
converter—StringConverter, преобразующий элемент типа T в удобочитаемую строку для отображения в выпадающем меню ChoiceBox.
-
ChoiceBoxTableCell
public ChoiceBoxTableCell(ObservableList<T> items)
Создаёт стандартный экземплярChoiceBoxTableCell, используя переданные элементы для заполненияChoiceBoxпри его отображении.Параметры:
items— Элементы для отображения в выпадающем меню ChoiceBox при выборе пользователем.
-
ChoiceBoxTableCell
public ChoiceBoxTableCell(StringConverter<T> converter, ObservableList<T> items)Создаёт экземплярChoiceBoxTableCell, используя переданные элементы для заполненияChoiceBoxпри его отображении, иStringConverterдля преобразования элементов в читаемый вид.Параметры:
converter—StringConverter, преобразующий элемент типа T в удобочитаемую строку для отображения в выпадающем меню ChoiceBox.
-
-
Подробное описание метода
-
forTableColumn
@SafeVarargs public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(T... items)
Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn. По умолчанию ChoiceBoxCell отображается какLabelпри отсутствии редактирования и как ChoiceBox при редактировании. ChoiceBox по умолчанию растягивается на всю ячейку.Параметры типа:
T— Тип элементов, содержащихся в TableColumn.Параметры:
items— Нуль или более элементов, которые будут отображаться пользователю при отображении менюChoiceBox. Эти элементы должны быть того же типа, что и TableColumn. Разработчик должен установитьevent handlersдля обработки событий редактирования в TableColumn и соответствующей реакции. Методы, которые могут быть полезны:setOnEditStart,setOnEditCommitиsetOnEditCancel.Возвращает:
A
Callback, который вернёт ячейку TableCell, способную работать с типом элемента, содержащегося в TableColumn.
-
forTableColumn
@SafeVarargs public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(StringConverter<T> converter, T... items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn. По умолчанию ChoiceBoxCell отображается какLabelпри отсутствии редактирования и как ChoiceBox при редактировании. ChoiceBox по умолчанию растягивается на всю ячейку.Параметры типа:
T— Тип элементов, содержащихся в TableColumn.Параметры:
converter—StringConverterдля преобразования заданного элемента (типа T) в строку для отображения пользователю.Возвращает:
A
Callback, который вернёт ячейку TableCell, способную работать с типом элемента, содержащегося в TableColumn.
-
forTableColumn
public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(ObservableList<T> items)
Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn. По умолчанию ChoiceBoxCell отображается какLabelпри отсутствии редактирования и как ChoiceBox при редактировании. ChoiceBox по умолчанию растягивается на всю ячейку.Параметры типа:
T— Тип элементов, содержащихся в TableColumn.Параметры:
items— Нуль или более элементов, которые будут отображаться пользователю при отображении менюChoiceBox. Эти элементы должны быть того же типа, что и TableColumn. Разработчик должен установитьevent handlersдля обработки событий редактирования в TableColumn и соответствующей реакции. Методы, которые могут быть полезны:setOnEditStart,setOnEditCommitиsetOnEditCancel.Возвращает:
A
Callback, который вернёт ячейку TableCell, способную работать с типом элемента, содержащегося в TableColumn.
-
forTableColumn
public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(StringConverter<T> converter, ObservableList<T> items)Создаёт фабрику ячеек ChoiceBox для использования в элементах управленияTableColumn. По умолчанию ChoiceBoxCell отображается какLabelпри отсутствии редактирования и как ChoiceBox при редактировании. ChoiceBox по умолчанию растягивается на всю ячейку.Параметры типа:
T— Тип элементов, содержащихся в TableColumn.Параметры:
converter—StringConverterдля преобразования заданного элемента (типа T) в строку для отображения пользователю.Возвращает:
A
Callback, который вернёт ячейку TableCell, способную работать с типом элемента, содержащегося в TableColumn.
-
converterProperty
public final ObjectProperty<StringConverter<T>> converterProperty()
СвойствоStringConverter.
-
setConverter
public final void setConverter(StringConverter<T> value)
УстанавливаетStringConverterдля использования в этой ячейке.
-
getConverter
public final StringConverter<T> getConverter()
ВозвращаетStringConverter, используемый в этой ячейке.
-
getItems
public ObservableList<T> getItems()
Возвращает элементы, которые будут отображаться в ChoiceBox при его отображении.
-
startEdit
public void startEdit()
Вызовите эту функцию, чтобы перейти от состояния без редактирования к состоянию редактирования, если ячейка редактируема. Если эта ячейка уже в состоянии редактирования, она останется в нём.
-
cancelEdit
public void cancelEdit()
Вызовите эту функцию, чтобы перейти от состояния редактирования к состоянию без редактирования, без сохранения введённых пользователем данных.Переопределяет:
cancelEditв классеTableCell<S,T>
-
updateItem
public void updateItem(T item, boolean empty)Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения, позволяющий настроить визуальное отображение ячейки. Разработчики никогда не должны вызывать этот метод в своём коде (они должны позволить элементу управления интерфейса, например, элементу управленияListView, вызвать этот метод). Однако цель метода updateItem состоит в том, чтобы разработчики при указании пользовательских фабрик ячеек (например, ListViewcell factory) могли переопределить метод updateItem для полной настройки ячейки.Очень важно, чтобы подклассы Cell правильно переопределяли метод updateItem, так как отсутствие этого приведёт к проблемам, таким как пустые ячейки или ячейки с неожиданным содержимым.
Вот пример того, как правильно переопределить метод updateItem:protected void updateItem(T item, boolean empty) { super.updateItem(item, empty); if (empty || item == null) { setText(null); setGraphic(null); } else { setText(item.toString()); } }Обратите внимание на два важных момента в этом примере кода:
- Мы вызываем метод super.updateItem(T, boolean). Если это не сделать, свойства item и empty не будут правильно установлены, и, скорее всего, возникнут графические проблемы.
- Мы проверяем условие
emptyи, если оно истинно, устанавливаем свойства text и graphic в null. Если этого не сделать, почти гарантированно, что конечные пользователи увидят графические артефакты в ячейках неожиданно.
Переопределяет:
updateItemв классеCell<T>Параметры:
item— Новый элемент для ячейки.
-
© 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.