Class Tooltip
java.lang.Object
javafx.stage.Window
javafx.stage.PopupWindow
javafx.scene.control.PopupControl
javafx.scene.control.Tooltip
- All Implemented Interfaces:
-
Styleable,EventTarget,Skinnable
@IDProperty("id") public class Tooltip extends PopupControl Tooltips are common UI elements which are typically used for showing additional information about a Node in the scenegraph when the Node is hovered over by the mouse. Any Node can show a tooltip. In most cases a Tooltip is created and its
text property is modified to show plain text to the user. However, a Tooltip is able to show within it an arbitrary scenegraph of nodes - this is done by creating the scenegraph and setting it inside the Tooltip graphic property. You use the following approach to set a Tooltip on any node:
Rectangle rect = new Rectangle(0, 0, 100, 100);
Tooltip t = new Tooltip("A Square");
Tooltip.install(rect, t); This tooltip will then participate with the typical tooltip semantics (i.e. appearing on hover, etc). Note that the Tooltip does not have to be uninstalled: it will be garbage collected when it is not referenced by any Node. It is possible to manually uninstall the tooltip, however. A single tooltip can be installed on multiple target nodes or multiple controls.
Because most Tooltips are shown on UI controls, there is special API for all controls to make installing a Tooltip less verbose. The example below shows how to create a tooltip for a Button control:
Button button = new Button("Hover Over Me");
button.setTooltip(new Tooltip("Tooltip for Button")); - Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
activated |
Typically, the tooltip is "activated" when the mouse moves over a Control. |
final ObjectProperty<ContentDisplay> |
contentDisplay |
Specifies the positioning of the graphic relative to the text. |
final ObjectProperty<Font> |
font |
The default font to use for text in the Tooltip. |
final ObjectProperty<Node> |
graphic |
An optional icon for the Tooltip. |
final DoubleProperty |
graphicTextGap |
The amount of space between the graphic and text |
final ObjectProperty<Duration> |
hideDelay |
The duration in which to continue showing the tooltip after the mouse has left the node. |
final ObjectProperty<Duration> |
showDelay |
The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. |
final ObjectProperty<Duration> |
showDuration |
The duration that the tooltip should remain showing for until it is no longer visible to the user. |
final ObjectProperty<TextAlignment> |
textAlignment |
Specifies the behavior for lines of text when text is multiline. |
final ObjectProperty<OverrunStyle> |
textOverrun |
Specifies the behavior to use if the text of the Tooltip exceeds the available space for rendering the text. |
final StringProperty |
text |
The text to display in the tooltip. |
final BooleanProperty |
wrapText |
If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line. |
Properties declared in class javafx.scene.control.PopupControl
id, maxHeight, maxWidth, minHeight, minWidth, prefHeight, prefWidth, skin, style
Properties declared in class javafx.stage.PopupWindow
anchorLocation, anchorX, anchorY, autoFix, autoHide, consumeAutoHidingEvents, hideOnEscape, onAutoHide, ownerNode, ownerWindow
Properties declared in class javafx.stage.Window
eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y
Nested Class Summary
Nested classes/interfaces declared in class javafx.stage.PopupWindow
PopupWindow.AnchorLocation
Field Summary
Fields declared in class javafx.scene.control.PopupControl
bridge, USE_COMPUTED_SIZE, USE_PREF_SIZE
Constructor Summary
| Constructor | Description |
|---|---|
Tooltip() |
Creates a tooltip with an empty string for its text. |
Tooltip |
Creates a tooltip with the specified text. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
activatedProperty() |
Typically, the tooltip is "activated" when the mouse moves over a Control. |
final ObjectProperty<ContentDisplay> |
contentDisplayProperty() |
Specifies the positioning of the graphic relative to the text. |
final ObjectProperty<Font> |
fontProperty() |
The default font to use for text in the Tooltip. |
static List<CssMetaData<? extends Styleable, |
getClassCssMetaData() |
Gets the CssMetaData associated with this class, which may include the CssMetaData of its superclasses. |
final ContentDisplay |
getContentDisplay() |
Gets the value of the contentDisplay property. |
List<CssMetaData<? extends Styleable, |
getCssMetaData() |
The CssMetaData of this Styleable. |
final Font |
getFont() |
Gets the value of the font property. |
final Node |
getGraphic() |
Gets the value of the graphic property. |
final double |
getGraphicTextGap() |
Gets the value of the graphicTextGap property. |
final Duration |
getHideDelay() |
Gets the value of the hideDelay property. |
final Duration |
getShowDelay() |
Gets the value of the showDelay property. |
final Duration |
getShowDuration() |
Gets the value of the showDuration property. |
final String |
getText() |
Gets the value of the text property. |
final TextAlignment |
getTextAlignment() |
Gets the value of the textAlignment property. |
final OverrunStyle |
getTextOverrun() |
Gets the value of the textOverrun property. |
final ObjectProperty<Node> |
graphicProperty() |
An optional icon for the Tooltip. |
final DoubleProperty |
graphicTextGapProperty() |
The amount of space between the graphic and text |
final ObjectProperty<Duration> |
hideDelayProperty() |
The duration in which to continue showing the tooltip after the mouse has left the node. |
static void |
install |
|
final boolean |
isActivated() |
Gets the value of the activated property. |
final boolean |
isWrapText() |
Gets the value of the wrapText property. |
final void |
setContentDisplay |
Sets the value of the contentDisplay property. |
final void |
setFont |
Sets the value of the font property. |
final void |
setGraphic |
Sets the value of the graphic property. |
final void |
setGraphicTextGap |
Sets the value of the graphicTextGap property. |
final void |
setHideDelay |
Sets the value of the hideDelay property. |
final void |
setShowDelay |
Sets the value of the showDelay property. |
final void |
setShowDuration |
Sets the value of the showDuration property. |
final void |
setText |
Sets the value of the text property. |
final void |
setTextAlignment |
Sets the value of the textAlignment property. |
final void |
setTextOverrun |
Sets the value of the textOverrun property. |
final void |
setWrapText |
Sets the value of the wrapText property. |
final ObjectProperty<Duration> |
showDelayProperty() |
The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. |
final ObjectProperty<Duration> |
showDurationProperty() |
The duration that the tooltip should remain showing for until it is no longer visible to the user. |
final ObjectProperty<TextAlignment> |
textAlignmentProperty() |
Specifies the behavior for lines of text when text is multiline. |
final ObjectProperty<OverrunStyle> |
textOverrunProperty() |
Specifies the behavior to use if the text of the Tooltip exceeds the available space for rendering the text. |
final StringProperty |
textProperty() |
The text to display in the tooltip. |
static void |
uninstall |
|
final BooleanProperty |
wrapTextProperty() |
If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line. |
Methods declared in class javafx.scene.control.PopupControl
createDefaultSkin, getId, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPrefHeight, getPrefWidth, getPseudoClassStates, getSkin, getStyle, getStyleableParent, getStyleClass, getTypeSelector, idProperty, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, pseudoClassStateChanged, setId, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPrefHeight, setPrefSize, setPrefWidth, setSkin, setStyle, skinProperty, styleProperty
Methods declared in class javafx.stage.PopupWindow
anchorLocationProperty, anchorXProperty, anchorYProperty, autoFixProperty, autoHideProperty, consumeAutoHidingEventsProperty, getAnchorLocation, getAnchorX, getAnchorY, getConsumeAutoHidingEvents, getOnAutoHide, getOwnerNode, getOwnerWindow, hide, hideOnEscapeProperty, isAutoFix, isAutoHide, isHideOnEscape, onAutoHideProperty, ownerNodeProperty, ownerWindowProperty, setAnchorLocation, setAnchorX, setAnchorY, setAutoFix, setAutoHide, setConsumeAutoHidingEvents, setHideOnEscape, setOnAutoHide, setScene, show, show, show
Methods declared in class javafx.stage.Window
addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, show, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode
Property Details
text
public final StringProperty textProperty
The text to display in the tooltip. If the text is set to null, an empty string will be displayed, despite the value being null.
- See Also:
textAlignment
public final ObjectProperty<TextAlignment> textAlignmentProperty
Specifies the behavior for lines of text when text is multiline. Unlike
contentDisplay which affects the graphic and text, this setting only affects multiple lines of text relative to the text bounds.textOverrun
public final ObjectProperty<OverrunStyle> textOverrunProperty
Specifies the behavior to use if the text of the
Tooltip exceeds the available space for rendering the text.wrapText
public final BooleanProperty wrapTextProperty
If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line.
font
public final ObjectProperty<Font> fontProperty
The default font to use for text in the Tooltip. If the Tooltip's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
- See Also:
showDelay
public final ObjectProperty<Duration> showDelayProperty
The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. The default delay is 1000ms.
- Default value:
- 1000ms
- Since:
- 9
- See Also:
showDuration
public final ObjectProperty<Duration> showDurationProperty
The duration that the tooltip should remain showing for until it is no longer visible to the user. If the mouse leaves the control before the showDuration finishes, then the tooltip will remain showing for the duration specified in the
hideDelayProperty(), even if the remaining time of the showDuration is less than the hideDelay duration. The default value is 5000ms.- Default value:
- 5000ms
- Since:
- 9
- See Also:
hideDelay
public final ObjectProperty<Duration> hideDelayProperty
The duration in which to continue showing the tooltip after the mouse has left the node. Once this time has elapsed the tooltip will hide. The default value is 200ms.
- Default value:
- 200ms
- Since:
- 9
- See Also:
graphic
public final ObjectProperty<Node> graphicProperty
An optional icon for the Tooltip. This can be positioned relative to the text by using the
content display property. The node specified for this variable cannot appear elsewhere in the scene graph, otherwise the IllegalArgumentException is thrown. See the class description of Node for more detail.- See Also:
contentDisplay
public final ObjectProperty<ContentDisplay> contentDisplayProperty
Specifies the positioning of the graphic relative to the text.
graphicTextGap
public final DoubleProperty graphicTextGapProperty
The amount of space between the graphic and text
activated
public final ReadOnlyBooleanProperty activatedProperty
Typically, the tooltip is "activated" when the mouse moves over a Control. There is usually some delay between when the Tooltip becomes "activated" and when it is actually shown. The details (such as the amount of delay, etc) is left to the Skin implementation.
- See Also:
Constructor Details
Tooltip
public Tooltip()
Creates a tooltip with an empty string for its text.
Tooltip
public Tooltip(String text)
Creates a tooltip with the specified text.
- Parameters:
-
text- A text string for the tooltip.
Method Details
install
public static void install(Node node, Tooltip t)
Associates the given
Tooltip with the given Node. The tooltip can then behave similar to when it is set on any Control. A single tooltip can be associated with multiple nodes.- Parameters:
-
node- the node -
t- the tooltip - See Also:
uninstall
public static void uninstall(Node node, Tooltip t)
Removes the association of the given
Tooltip on the specified Node. Hence hovering on the node will no longer result in showing of the tooltip.- Parameters:
-
node- the node -
t- the tooltip - See Also:
textProperty
public final StringProperty textProperty()
The text to display in the tooltip. If the text is set to null, an empty string will be displayed, despite the value being null.
- Returns:
- the text property
- See Also:
setText
public final void setText(String value)
Sets the value of the
text property.- Property description:
- The text to display in the tooltip. If the text is set to null, an empty string will be displayed, despite the value being null.
- Parameters:
-
value- the value for thetextproperty - See Also:
getText
public final String getText()
Gets the value of the
text property.- Property description:
- The text to display in the tooltip. If the text is set to null, an empty string will be displayed, despite the value being null.
- Returns:
- the value of the
textproperty - See Also:
textAlignmentProperty
public final ObjectProperty<TextAlignment> textAlignmentProperty()
Specifies the behavior for lines of text when text is multiline. Unlike
contentDisplay which affects the graphic and text, this setting only affects multiple lines of text relative to the text bounds.- Returns:
- the text alignment property
- See Also:
setTextAlignment
public final void setTextAlignment(TextAlignment value)
Sets the value of the
textAlignment property.- Property description:
- Specifies the behavior for lines of text when text is multiline. Unlike
contentDisplaywhich affects the graphic and text, this setting only affects multiple lines of text relative to the text bounds. - Parameters:
-
value- the value for thetextAlignmentproperty - See Also:
getTextAlignment
public final TextAlignment getTextAlignment()
Gets the value of the
textAlignment property.- Property description:
- Specifies the behavior for lines of text when text is multiline. Unlike
contentDisplaywhich affects the graphic and text, this setting only affects multiple lines of text relative to the text bounds. - Returns:
- the value of the
textAlignmentproperty - See Also:
textOverrunProperty
public final ObjectProperty<OverrunStyle> textOverrunProperty()
Specifies the behavior to use if the text of the
Tooltip exceeds the available space for rendering the text.- Returns:
- the text overrun property
- See Also:
setTextOverrun
public final void setTextOverrun(OverrunStyle value)
Sets the value of the
textOverrun property.- Property description:
- Specifies the behavior to use if the text of the
Tooltipexceeds the available space for rendering the text. - Parameters:
-
value- the value for thetextOverrunproperty - See Also:
getTextOverrun
public final OverrunStyle getTextOverrun()
Gets the value of the
textOverrun property.- Property description:
- Specifies the behavior to use if the text of the
Tooltipexceeds the available space for rendering the text. - Returns:
- the value of the
textOverrunproperty - See Also:
wrapTextProperty
public final BooleanProperty wrapTextProperty()
If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line.
- Returns:
- the wrap text property
- See Also:
setWrapText
public final void setWrapText(boolean value)
Sets the value of the
wrapText property.- Property description:
- If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line.
- Parameters:
-
value- the value for thewrapTextproperty - See Also:
isWrapText
public final boolean isWrapText()
Gets the value of the
wrapText property.- Property description:
- If a run of text exceeds the width of the Tooltip, then this variable indicates whether the text should wrap onto another line.
- Returns:
- the value of the
wrapTextproperty - See Also:
fontProperty
public final ObjectProperty<Font> fontProperty()
The default font to use for text in the Tooltip. If the Tooltip's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
- Returns:
- the font property
- See Also:
setFont
public final void setFont(Font value)
Sets the value of the
font property.- Property description:
- The default font to use for text in the Tooltip. If the Tooltip's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
- Parameters:
-
value- the value for thefontproperty - See Also:
getFont
public final Font getFont()
Gets the value of the
font property.- Property description:
- The default font to use for text in the Tooltip. If the Tooltip's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
- Returns:
- the value of the
fontproperty - See Also:
showDelayProperty
public final ObjectProperty<Duration> showDelayProperty()
The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. The default delay is 1000ms.
- Default value:
- 1000ms
- Returns:
- show delay property
- Since:
- 9
- See Also:
setShowDelay
public final void setShowDelay(Duration showDelay)
Sets the value of the
showDelay property.- Property description:
- The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. The default delay is 1000ms.
- Default value:
- 1000ms
- Parameters:
-
showDelay- the value for theshowDelayproperty - Since:
- 9
- See Also:
getShowDelay
public final Duration getShowDelay()
Gets the value of the
showDelay property.- Property description:
- The delay between the mouse entering the hovered node and when the associated tooltip will be shown to the user. The default delay is 1000ms.
- Default value:
- 1000ms
- Returns:
- the value of the
showDelayproperty - Since:
- 9
- See Also:
showDurationProperty
public final ObjectProperty<Duration> showDurationProperty()
The duration that the tooltip should remain showing for until it is no longer visible to the user. If the mouse leaves the control before the showDuration finishes, then the tooltip will remain showing for the duration specified in the
hideDelayProperty(), even if the remaining time of the showDuration is less than the hideDelay duration. The default value is 5000ms.- Default value:
- 5000ms
- Returns:
- the show duration property
- Since:
- 9
- See Also:
setShowDuration
public final void setShowDuration(Duration showDuration)
Sets the value of the
showDuration property.- Property description:
- The duration that the tooltip should remain showing for until it is no longer visible to the user. If the mouse leaves the control before the showDuration finishes, then the tooltip will remain showing for the duration specified in the
hideDelayProperty(), even if the remaining time of the showDuration is less than the hideDelay duration. The default value is 5000ms. - Default value:
- 5000ms
- Parameters:
-
showDuration- the value for theshowDurationproperty - Since:
- 9
- See Also:
getShowDuration
public final Duration getShowDuration()
Gets the value of the
showDuration property.- Property description:
- The duration that the tooltip should remain showing for until it is no longer visible to the user. If the mouse leaves the control before the showDuration finishes, then the tooltip will remain showing for the duration specified in the
hideDelayProperty(), even if the remaining time of the showDuration is less than the hideDelay duration. The default value is 5000ms. - Default value:
- 5000ms
- Returns:
- the value of the
showDurationproperty - Since:
- 9
- See Also:
hideDelayProperty
public final ObjectProperty<Duration> hideDelayProperty()
The duration in which to continue showing the tooltip after the mouse has left the node. Once this time has elapsed the tooltip will hide. The default value is 200ms.
- Default value:
- 200ms
- Returns:
- the hide delay property
- Since:
- 9
- See Also:
setHideDelay
public final void setHideDelay(Duration hideDelay)
Sets the value of the
hideDelay property.- Property description:
- The duration in which to continue showing the tooltip after the mouse has left the node. Once this time has elapsed the tooltip will hide. The default value is 200ms.
- Default value:
- 200ms
- Parameters:
-
hideDelay- the value for thehideDelayproperty - Since:
- 9
- See Also:
getHideDelay
public final Duration getHideDelay()
Gets the value of the
hideDelay property.- Property description:
- The duration in which to continue showing the tooltip after the mouse has left the node. Once this time has elapsed the tooltip will hide. The default value is 200ms.
- Default value:
- 200ms
- Returns:
- the value of the
hideDelayproperty - Since:
- 9
- See Also:
graphicProperty
public final ObjectProperty<Node> graphicProperty()
An optional icon for the Tooltip. This can be positioned relative to the text by using the
content display property. The node specified for this variable cannot appear elsewhere in the scene graph, otherwise the IllegalArgumentException is thrown. See the class description of Node for more detail.- Returns:
- the graphic property
- See Also:
setGraphic
public final void setGraphic(Node value)
Sets the value of the
graphic property.- Property description:
- An optional icon for the Tooltip. This can be positioned relative to the text by using the
content displayproperty. The node specified for this variable cannot appear elsewhere in the scene graph, otherwise theIllegalArgumentExceptionis thrown. See the class description ofNodefor more detail. - Parameters:
-
value- the value for thegraphicproperty - See Also:
getGraphic
public final Node getGraphic()
Gets the value of the
graphic property.- Property description:
- An optional icon for the Tooltip. This can be positioned relative to the text by using the
content displayproperty. The node specified for this variable cannot appear elsewhere in the scene graph, otherwise theIllegalArgumentExceptionis thrown. See the class description ofNodefor more detail. - Returns:
- the value of the
graphicproperty - See Also:
contentDisplayProperty
public final ObjectProperty<ContentDisplay> contentDisplayProperty()
Specifies the positioning of the graphic relative to the text.
- Returns:
- the content display property
- See Also:
setContentDisplay
public final void setContentDisplay(ContentDisplay value)
Sets the value of the
contentDisplay property.- Property description:
- Specifies the positioning of the graphic relative to the text.
- Parameters:
-
value- the value for thecontentDisplayproperty - See Also:
getContentDisplay
public final ContentDisplay getContentDisplay()
Gets the value of the
contentDisplay property.- Property description:
- Specifies the positioning of the graphic relative to the text.
- Returns:
- the value of the
contentDisplayproperty - See Also:
graphicTextGapProperty
public final DoubleProperty graphicTextGapProperty()
The amount of space between the graphic and text
- Returns:
- the graphic text gap property
- See Also:
setGraphicTextGap
public final void setGraphicTextGap(double value)
Sets the value of the
graphicTextGap property.- Property description:
- The amount of space between the graphic and text
- Parameters:
-
value- the value for thegraphicTextGapproperty - See Also:
getGraphicTextGap
public final double getGraphicTextGap()
Gets the value of the
graphicTextGap property.- Property description:
- The amount of space between the graphic and text
- Returns:
- the value of the
graphicTextGapproperty - See Also:
isActivated
public final boolean isActivated()
Gets the value of the
activated property.- Property description:
- Typically, the tooltip is "activated" when the mouse moves over a Control. There is usually some delay between when the Tooltip becomes "activated" and when it is actually shown. The details (such as the amount of delay, etc) is left to the Skin implementation.
- Returns:
- the value of the
activatedproperty - See Also:
activatedProperty
public final ReadOnlyBooleanProperty activatedProperty()
Typically, the tooltip is "activated" when the mouse moves over a Control. There is usually some delay between when the Tooltip becomes "activated" and when it is actually shown. The details (such as the amount of delay, etc) is left to the Skin implementation.
- Returns:
- the
activatedproperty - See Also:
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Gets the
CssMetaData associated with this class, which may include the CssMetaData of its superclasses.- Returns:
- the
CssMetaData - Since:
- JavaFX 8.0
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
The CssMetaData of this Styleable. This may be returned as an unmodifiable list.
- Specified by:
-
getCssMetaDatain interfaceStyleable - Overrides:
-
getCssMetaDatain classPopupControl - Returns:
- the CssMetaData
- Since:
- JavaFX 8.0
© 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.