Class SVGImageView
- All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
SVGImageView can display svg icons in high definition, and they won't become blurry even when zoomed in.
Note for SvgImageView: Currently, due to the limitation that weisj can only render BufferedImage from SVG, SvgImageView does not support usage in native packaging scenarios.
-
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.BooleanPropertyA property that indicates whether the SVG image should be loaded in the background.final javafx.beans.property.DoublePropertyDefines the height of the box that the source svg image should fit into.final javafx.beans.property.DoublePropertyDefines the width of the box that the source svg image should fit into.final javafx.beans.property.BooleanPropertyA property that determines whether the image should maintain its aspect ratio or not.final javafx.beans.property.BooleanPropertyA property that determines whether the SVG image should be rendered using a smoothing algorithm.final javafx.beans.property.StringPropertyA property that holds the URL of the SVG image to be rendered.Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltipProperties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties inherited from class javafx.scene.Parent
needsLayoutProperties inherited from class 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 -
Field Summary
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZEFields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new SVGImageView.SVGImageView(String url) Constructs a new SVGImageView with the given SVG url. -
Method Summary
Modifier and TypeMethodDescriptionfinal javafx.beans.property.BooleanPropertyA property that indicates whether the SVG image should be loaded in the background.protected javafx.scene.control.Skin<?> final javafx.beans.property.DoublePropertyDefines the height of the box that the source svg image should fit into.final javafx.beans.property.DoublePropertyDefines the width of the box that the source svg image should fit into.static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> Returns the CSS metadata associated with this class.protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> final doubleGets the value offitHeightProperty().final doubleGets the value offitWidthProperty().final StringGets the value of the svgUrl property.final booleanGets the value of the backgroundLoading property.final booleanGets the value of thepreserveRatioProperty()property.final booleanisSmooth()Gets the value of the smooth property.final javafx.beans.property.BooleanPropertyA property that determines whether the image should maintain its aspect ratio or not.final voidsetBackgroundLoading(boolean backgroundLoading) Sets the value of the backgroundLoading property.final voidsetFitHeight(double fitHeight) Sets the value of thefitHeightProperty()property.final voidsetFitWidth(double width) Sets the value of thefitWidthProperty().final voidsetPreserveRatio(boolean preserveRatio) Sets the value of the preserveRatio property.final voidsetSmooth(boolean smooth) Sets the value of the smooth property.final voidSets the value of the svgUrl property.final javafx.beans.property.BooleanPropertyA property that determines whether the SVG image should be rendered using a smoothing algorithm.final javafx.beans.property.StringPropertyA property that holds the URL of the SVG image to be rendered.Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertyMethods inherited from class 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthPropertyMethods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods inherited from class 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, focusVisibleProperty, focusWithinProperty, 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, 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, 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, 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, visiblePropertyMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
fitWidth
public final javafx.beans.property.DoubleProperty fitWidthPropertyDefines the width of the box that the source svg image should fit into. If the value is invalid input: '<'= 0, the svg image's intrinsic width will be used.When
preserveRatioProperty()is set to true, then the actual displayed width of the image is constrained not only by this property, but also byfitHeightProperty(), and it may not be the same as fitWidth.Can be set via CSS using the
-fx-fit-widthproperty. Valid values are: numbers (use0to use the image's intrinsic width). The default value is0.- See Also:
-
fitHeight
public final javafx.beans.property.DoubleProperty fitHeightPropertyDefines the height of the box that the source svg image should fit into. If the value is invalid input: '<'= 0, the svg image's intrinsic height will be used.When
preserveRatioProperty()is set to true, then the actual displayed height of the image is constrained not only by this property, but also byfitWidthProperty(), and it may not be the same as fitHeight.Can be set via CSS using the
-fx-fit-heightproperty. Valid values are: numbers (use0to use the image's intrinsic height). The default value is0.- See Also:
-
preserveRatio
public final javafx.beans.property.BooleanProperty preserveRatioPropertyA property that determines whether the image should maintain its aspect ratio or not. When set to true, the image will preserve its aspect ratio. When set to false, the image may be stretched or compressed to fit the specified dimensions, without preserving its aspect ratio.Can be set via CSS using the
-fx-preserve-ratioproperty. Valid values are:trueorfalse. The default value istrue.- See Also:
-
smooth
public final javafx.beans.property.BooleanProperty smoothPropertyA property that determines whether the SVG image should be rendered using a smoothing algorithm. If true, the image will be rendered with smoothing applied, which can improve the visual quality but may reduce performance.Can be set via CSS using the
-fx-smoothproperty. Valid values are:trueorfalse. The default value istrue.- See Also:
-
svgUrl
public final javafx.beans.property.StringProperty svgUrlPropertyA property that holds the URL of the SVG image to be rendered. Changing the URL will result in loading and rendering the new SVG image.Can be set via CSS using the
-fx-svg-urlproperty. Valid values are: a URL string pointing to an SVG file. The default value isnull.- See Also:
-
backgroundLoading
public final javafx.beans.property.BooleanProperty backgroundLoadingPropertyA property that indicates whether the SVG image should be loaded in the background. When set to true, the image is loaded in a background thread, allowing for asynchronous loading of images.Can be set via CSS using the
-fx-background-loadingproperty. Valid values are:trueorfalse. The default value isfalse.- See Also:
-
-
Constructor Details
-
SVGImageView
public SVGImageView()Constructs a new SVGImageView. -
SVGImageView
Constructs a new SVGImageView with the given SVG url.- Parameters:
url- the url of the SVG image to be rendered
-
-
Method Details
-
createDefaultSkin
protected javafx.scene.control.Skin<?> createDefaultSkin()- Overrides:
createDefaultSkinin classjavafx.scene.control.Control
-
getFitWidth
public final double getFitWidth()Gets the value offitWidthProperty().- Returns:
- The fit width value.
-
fitWidthProperty
public final javafx.beans.property.DoubleProperty fitWidthProperty()Defines the width of the box that the source svg image should fit into. If the value is invalid input: '<'= 0, the svg image's intrinsic width will be used.When
preserveRatioProperty()is set to true, then the actual displayed width of the image is constrained not only by this property, but also byfitHeightProperty(), and it may not be the same as fitWidth.Can be set via CSS using the
-fx-fit-widthproperty. Valid values are: numbers (use0to use the image's intrinsic width). The default value is0.- Returns:
- the
fitWidthproperty - See Also:
-
setFitWidth
public final void setFitWidth(double width) Sets the value of thefitWidthProperty().- Parameters:
width- the "fit width" value.
-
getFitHeight
public final double getFitHeight()Gets the value offitHeightProperty().- Returns:
- The fit height value
-
fitHeightProperty
public final javafx.beans.property.DoubleProperty fitHeightProperty()Defines the height of the box that the source svg image should fit into. If the value is invalid input: '<'= 0, the svg image's intrinsic height will be used.When
preserveRatioProperty()is set to true, then the actual displayed height of the image is constrained not only by this property, but also byfitWidthProperty(), and it may not be the same as fitHeight.Can be set via CSS using the
-fx-fit-heightproperty. Valid values are: numbers (use0to use the image's intrinsic height). The default value is0.- Returns:
- the
fitHeightproperty - See Also:
-
setFitHeight
public final void setFitHeight(double fitHeight) Sets the value of thefitHeightProperty()property.- Parameters:
fitHeight- the "fit height" value
-
isPreserveRatio
public final boolean isPreserveRatio()Gets the value of thepreserveRatioProperty()property.- Returns:
- The preserve ratio value.
-
preserveRatioProperty
public final javafx.beans.property.BooleanProperty preserveRatioProperty()A property that determines whether the image should maintain its aspect ratio or not. When set to true, the image will preserve its aspect ratio. When set to false, the image may be stretched or compressed to fit the specified dimensions, without preserving its aspect ratio.Can be set via CSS using the
-fx-preserve-ratioproperty. Valid values are:trueorfalse. The default value istrue.- Returns:
- the
preserveRatioproperty - See Also:
-
setPreserveRatio
public final void setPreserveRatio(boolean preserveRatio) Sets the value of the preserveRatio property.- Parameters:
preserveRatio- the preserve ratio value.
-
isSmooth
public final boolean isSmooth()Gets the value of the smooth property.- Returns:
- The smooth value.
-
smoothProperty
public final javafx.beans.property.BooleanProperty smoothProperty()A property that determines whether the SVG image should be rendered using a smoothing algorithm. If true, the image will be rendered with smoothing applied, which can improve the visual quality but may reduce performance.Can be set via CSS using the
-fx-smoothproperty. Valid values are:trueorfalse. The default value istrue.- Returns:
- the
smoothproperty - See Also:
-
setSmooth
public final void setSmooth(boolean smooth) Sets the value of the smooth property.- Parameters:
smooth- The smooth value.
-
getSvgUrl
-
svgUrlProperty
public final javafx.beans.property.StringProperty svgUrlProperty()A property that holds the URL of the SVG image to be rendered. Changing the URL will result in loading and rendering the new SVG image.Can be set via CSS using the
-fx-svg-urlproperty. Valid values are: a URL string pointing to an SVG file. The default value isnull.- Returns:
- the
svgUrlproperty - See Also:
-
setSvgUrl
Sets the value of the svgUrl property.- Parameters:
svgUrl- The svg url value.
-
isBackgroundLoading
public final boolean isBackgroundLoading()Gets the value of the backgroundLoading property.- Returns:
- The background loading value.
-
backgroundLoadingProperty
public final javafx.beans.property.BooleanProperty backgroundLoadingProperty()A property that indicates whether the SVG image should be loaded in the background. When set to true, the image is loaded in a background thread, allowing for asynchronous loading of images.Can be set via CSS using the
-fx-background-loadingproperty. Valid values are:trueorfalse. The default value isfalse.- Returns:
- the
backgroundLoadingproperty - See Also:
-
setBackgroundLoading
public final void setBackgroundLoading(boolean backgroundLoading) Sets the value of the backgroundLoading property.- Parameters:
backgroundLoading- The background loading value.
-
getControlCssMetaData
- Overrides:
getControlCssMetaDatain classjavafx.scene.control.Control
-
getClassCssMetaData
Returns the CSS metadata associated with this class.- Returns:
- A list of
CssMetaDataobjects containing the CSS metadata.
-