Класс ComboBoxTreeCell<T>
- Type Parameters:
-
T- Тип TreeItems, содержащихся в TreeView.
- All Implemented Interfaces:
-
Styleable,EventTarget,Skinnable
public class ComboBoxTreeCell<T> extends TreeCell<T>
TreeCell, которая рисует узел ComboBox внутри ячейки. По умолчанию ComboBoxTreeCell отображается как Label, когда не находится в режиме редактирования, и как ComboBox в режиме редактирования. ComboBox по умолчанию растягивается, чтобы заполнить всю ячейку дерева.
Для создания ComboBoxTreeCell необходимо предоставить нуль или более элементов, которые будут отображаться пользователю, когда меню ComboBox отображается. Эти элементы должны быть того же типа, что и TreeItems TreeView, чтобы при выборе они заменяли текущее значение в TreeItem.valueProperty().
- Since:
- JavaFX 2.2
Сводка свойств
| Тип | Свойство | Описание |
|---|---|---|
final BooleanProperty |
comboBoxEditable |
Свойство, определяющее, является ли ComboBox редактируемым при отображении пользователю. |
final ObjectProperty |
converter |
Свойство StringConverter. |
Свойства, объявленные в классе javafx.scene.control.TreeCell
disclosureNode, treeItem, treeView
Свойства, объявленные в классе javafx.scene.control.IndexedCell
index
Свойства, объявленные в классе javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, 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, focusVisible, focusWithin, 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.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Сводка конструкторов
| Конструктор | Описание |
|---|---|
ComboBoxTreeCell() |
Создаёт стандартную ComboBoxTreeCell со списком элементов по умолчанию. |
ComboBoxTreeCell |
Создаёт экземпляр ComboBoxTreeCell по умолчанию с заданными элементами, которые используются для заполнения ComboBox при его отображении. |
ComboBoxTreeCell |
Создаёт экземпляр ComboBoxTreeCell с заданными элементами, которые используются для заполнения ComboBox при его отображении, и StringConverter, используемым для преобразования элемента в читаемую форму. |
ComboBoxTreeCell |
Создаёт экземпляр ComboBoxTreeCell с заданными элементами, которые используются для заполнения ComboBox при его отображении, и StringConverter, используемым для преобразования элемента в читаемую форму. |
ComboBoxTreeCell |
Создаёт стандартный экземпляр ComboBoxTreeCell с заданными элементами, которые используются для заполнения ComboBox при его отображении. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final BooleanProperty |
comboBoxEditableProperty() |
Свойство, определяющее, является ли ComboBox редактируемым при отображении пользователю. |
final ObjectProperty |
converterProperty() |
Свойство StringConverter. |
static <T> Callback |
forTreeView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления TreeView. |
static <T> Callback |
forTreeView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления TreeView. |
static <T> Callback |
forTreeView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления TreeView. |
static <T> Callback |
forTreeView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления TreeView. |
final StringConverter |
getConverter() |
Возвращает StringConverter, используемый в этой ячейке. |
ObservableList |
getItems() |
Возвращает элементы, отображаемые в ComboBox при его отображении. |
final boolean |
isComboBoxEditable() |
Возвращает true, если ComboBox редактируемый. |
final void |
setComboBoxEditable |
Настраивает ComboBox для редактирования (чтобы разрешить ввод пользователем данных вне списка опций в выпадающем списке). |
final void |
setConverter |
Устанавливает StringConverter, который будет использоваться в этой ячейке. |
void |
updateItem |
Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения разработчиками, чтобы позволить настраивать визуальные элементы ячейки. |
Методы, объявленные в классе javafx.scene.control.TreeCell
disclosureNodeProperty, getDisclosureNode, getTreeItem, getTreeView, setDisclosureNode, treeItemProperty, treeViewProperty, updateTreeItem, updateTreeView
Методы, объявленные в классе javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
Методы, объявленные в классе javafx.scene.control.Cell
cancelEdit, commitEdit, editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem, startEdit, updateSelected
Методы, объявленные в классе javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isTextTruncated, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, textTruncatedProperty, underlineProperty, wrapTextProperty
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе 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.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, 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, isFocusVisible, isFocusWithin, 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, requestFocusTraversal, 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
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробное описание свойств
converter
public final ObjectProperty<StringConverter<T>> converterProperty
StringConverter.- См. также:
comboBoxEditable
public final BooleanProperty comboBoxEditableProperty
- См. также:
Подробное описание конструкторов
ComboBoxTreeCell
public ComboBoxTreeCell()
ComboBoxTreeCell
@SafeVarargs public ComboBoxTreeCell(T... items)
ComboBoxTreeCell по умолчанию, используя переданные элементы для заполнения ComboBox при отображении.- Параметры:
-
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxTreeCell
@SafeVarargs public ComboBoxTreeCell(StringConverter<T> converter, T... items)
ComboBoxTreeCell, используя переданные элементы для заполнения ComboBox при отображении, и StringConverter для преобразования элемента в читаемый вид.- Параметры:
-
converter-StringConverter, преобразующий элемент типа T в читаемую строку для отображения в всплывающем меню ComboBox. -
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxTreeCell
public ComboBoxTreeCell(ObservableList<T> items)
ComboBoxTreeCell, используя переданные элементы для заполнения ComboBox при отображении.- Параметры:
-
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxTreeCell
public ComboBoxTreeCell(StringConverter<T> converter, ObservableList<T> items)
ComboBoxTreeCell, используя переданные элементы для заполнения ComboBox при отображении, и StringConverter для преобразования элемента в читаемый вид.- Параметры:
-
converter-StringConverter, преобразующий элемент типа T в читаемую строку для отображения в всплывающем меню ComboBox. -
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
Подробное описание методов
forTreeView
@SafeVarargs public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView(T... items)
TreeView. По умолчанию, ячейка ComboBox отображается как Label при отсутствии редактирования и как ComboBox при редактировании. ComboBox, по умолчанию, растягивается, чтобы заполнить всю ячейку дерева.- Тип параметров:
-
T- Тип элементов, содержащихся в TreeView. - Параметры:
-
items- Ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и TreeView<T>, чтобы при выборе они заменяли текущее значение в свойстве TreeItemvalue. - Возвращает:
- A
Callback, который вернёт ячейку дерева, способную работать с типом элемента, содержащегося в TreeView.
forTreeView
public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView(ObservableList<T> items)
TreeView. По умолчанию, ячейка ComboBox отображается как Label при отсутствии редактирования и как ComboBox при редактировании. По умолчанию, ComboBox растягивается, чтобы заполнить всю ячейку дерева, за исключением места, выделенного для отступа ячейки дерева и узла раскрытия (т.е. стрелки).- Тип параметров:
-
T- Тип элементовTreeItem, содержащихся в TreeView. - Параметры:
-
items-ObservableList, содержащий ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и обобщённый тип TreeView, чтобы при выборе они заменяли существующее значение в элементеTreeItem, который редактируется (как указано вTreeView.editingItemProperty(). - Возвращает:
- A
Callback, который вернёт ячейку дерева, способную работать с типом элемента, содержащегося в TreeView.
forTreeView
@SafeVarargs public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView(StringConverter<T> converter, T... items)
TreeView. По умолчанию, ячейка ComboBox отображается как Label при отсутствии редактирования и как ComboBox при редактировании. ComboBox, по умолчанию, растягивается, чтобы заполнить всю ячейку дерева.- Тип параметров:
-
T- Тип элементов, содержащихся в TreeView. - Параметры:
-
converter-StringConverterдля преобразования данного элемента (типа T) в строку для отображения пользователю. -
items- Ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и TreeView<T>, чтобы при выборе они заменяли текущее значение в свойстве TreeItemvalue. - Возвращает:
- A
Callback, который вернёт ячейку дерева, способную работать с типом элемента, содержащегося в TreeView.
дляTreeView
public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView(StringConverter<T> converter, ObservableList<T> items)
TreeView. По умолчанию, ячейка ComboBox отображается как Label при отсутствии редактирования и как ComboBox в режиме редактирования. По умолчанию, ComboBox будет растягиваться для заполнения всей ячейки дерева.- Параметры типа:
-
T- тип элементов, содержащихся в TreeView. - Параметры:
-
converter-StringConverterдля преобразования заданного элемента (типа T) в строку для отображения пользователю. -
items-ObservableList, содержащий ноль или более элементов, которые будут отображены пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и общий тип TreeView, чтобы при выборе они заменяли существующее значение вTreeItem, который редактируется (как указано вTreeView.editingItemProperty()). - Возвращает:
Callback, который вернёт ячейку дерева, способную работать с типом элемента, содержащегося в TreeView.
свойствоКонвертера
public final ObjectProperty<StringConverter<T>> converterProperty()
StringConverter.- Возвращает:
- свойство
StringConverter - См. также:
установитьКонвертер
public final void setConverter(StringConverter<T> value)
StringConverter, который будет использоваться в этой ячейке.- Параметры:
-
value-StringConverter, который будет использоваться в этой ячейке
получитьКонвертер
public final StringConverter<T> getConverter()
StringConverter, используемый в этой ячейке.- Возвращает:
- используемый
StringConverterв этой ячейке
свойствоComboBoxРедактирования
public final BooleanProperty comboBoxEditableProperty()
- Возвращает:
- свойство, представляющее возможность редактирования ComboBox при отображении пользователю
- См. также:
установитьComboBoxРедактирование
public final void setComboBoxEditable(boolean value)
- Параметры:
-
value- значение редактирования, которое нужно установить для этого ComboBox
являетсяComboBoxРедактируемым
public final boolean isComboBoxEditable()
- Возвращает:
- true, если ComboBox редактируется
получитьЭлементы
public ObservableList<T> getItems()
- Возвращает:
- элементы, которые будут отображаться в этом ComboBox при его отображении
updateItem
public void updateItem(T item, boolean empty)
ListView, вызывать этот метод). Однако, метод updateItem предназначен для того, чтобы разработчики, при определении пользовательских фабрик ячеек (например, как в ListView cell factory), могли переопределить метод updateItem для полной настройки ячейки. Очень важно, чтобы подклассы Cell правильно переопределяли метод 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. Если этого не сделать, пользователи почти гарантированно увидят графические артефакты в ячейках неожиданно.
- Параметры:
-
item- Новое значение для ячейки. -
empty- указывает, представляет ли данная ячейка данные из списка. Если она пустая, то она не представляет данные предметной области, а используется для отображения пустой строки.
© 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.