Class ToggleIcon

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.Labeled
javafx.scene.control.ButtonBase
javafx.scene.control.ToggleButton
com.imyeyu.fx.ui.components.ToggleIcon
All Implemented Interfaces:
TimiFXUI, javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable, javafx.scene.control.Toggle

public class ToggleIcon extends javafx.scene.control.ToggleButton implements TimiFXUI
图标选择状态按钮,可选图片、SVG 路径或 TimiFXIcon 的字体图标
Since:
2022-05-18 10:16
Author:
夜雨
  • Nested Class Summary

    Nested classes/interfaces inherited from interface TimiFXUI

    TimiFXUI.BG, TimiFXUI.Colorful, TimiFXUI.CSS, TimiFXUI.Shadow, TimiFXUI.Stroke
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.BooleanProperty
    获取自适应尺寸监听

    Properties inherited from class javafx.scene.control.ToggleButton

    selected, toggleGroup

    Properties inherited from class javafx.scene.control.ButtonBase

    armed, onAction

    Properties inherited from class javafx.scene.control.Labeled

    alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, underline, wrapText

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties 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
    Modifier and Type
    Field
    Description
    protected final javafx.beans.property.BooleanProperty
    是否自适应尺寸
    protected final javafx.scene.Node
    非选中图标
    protected final javafx.scene.Node
    选中图标

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT

    Fields inherited from interface TimiFXUI

    CSS_FONT, CSS_STYLE, MULTILINGUAL, RESOURCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    构造 SVG 图标选择按钮
    构造 SVG 图标选择按钮
    ToggleIcon(String selectedSVG, String otherwiseSVG)
    构造 SVG 图标选择按钮
    ToggleIcon(javafx.scene.image.Image img)
    构造图片图标选择按钮
    ToggleIcon(javafx.scene.image.Image selectedImg, javafx.scene.image.Image otherwiseImg)
    构造图片图标切换按钮
    ToggleIcon(javafx.scene.Node icon)
    构造自定义节点选择按钮
    ToggleIcon(javafx.scene.Node selected, javafx.scene.Node otherwise)
    构造 SVG 图标选择按钮
  • Method Summary

    Modifier and Type
    Method
    Description
    自适应尺寸,不使用内边距填充,图标尺寸决定组件尺寸
    javafx.beans.property.BooleanProperty
    获取自适应尺寸监听
    protected javafx.scene.control.Skin<?>
     
    boolean
    获取当前是否自适应尺寸,ture 时图标尺寸决定组件尺寸
    void
    setAutoSize(boolean autoSize)
    设置是否自适应尺寸,ture 时图标尺寸决定组件尺寸
    添加按钮背景
    withBackground(String borderClass)
    添加按钮背景

    Methods inherited from class javafx.scene.control.ToggleButton

    fire, getInitialAlignment, getToggleGroup, isSelected, queryAccessibleAttribute, selectedProperty, setSelected, setToggleGroup, toggleGroupProperty

    Methods inherited from class javafx.scene.control.ButtonBase

    arm, armedProperty, disarm, executeAccessibleAction, getOnAction, isArmed, onActionProperty, setOnAction

    Methods inherited from class 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, 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, toString, underlineProperty, wrapTextProperty

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    Methods 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, widthProperty

    Methods inherited from class javafx.scene.Parent

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods 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, 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, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode

    Methods inherited from interface javafx.scene.control.Toggle

    getProperties, getUserData, setUserData
  • Property Details

    • autoSize

      public javafx.beans.property.BooleanProperty autoSizeProperty
      获取自适应尺寸监听
      See Also:
  • Field Details

    • selected

      protected final javafx.scene.Node selected
      选中图标
    • otherwise

      protected final javafx.scene.Node otherwise
      非选中图标
    • autoSize

      protected final javafx.beans.property.BooleanProperty autoSize
      是否自适应尺寸
  • Constructor Details

    • ToggleIcon

      public ToggleIcon(javafx.scene.image.Image img)
      构造图片图标选择按钮
      Parameters:
      img - 图片
    • ToggleIcon

      public ToggleIcon(javafx.scene.image.Image selectedImg, javafx.scene.image.Image otherwiseImg)
      构造图片图标切换按钮
      Parameters:
      selectedImg - 已选图片
      otherwiseImg - 未选图片
    • ToggleIcon

      public ToggleIcon(String svg)
      构造 SVG 图标选择按钮
      Parameters:
      svg - SVG 路径
    • ToggleIcon

      public ToggleIcon(String selectedSVG, String otherwiseSVG)
      构造 SVG 图标选择按钮
      Parameters:
      selectedSVG - 已选 SVG 路径
      otherwiseSVG - 未选 SVG 路径
    • ToggleIcon

      public ToggleIcon(SVGIcon icon)
      构造 SVG 图标选择按钮
      Parameters:
      icon - SVG 图标
    • ToggleIcon

      public ToggleIcon(javafx.scene.Node icon)
      构造自定义节点选择按钮
      Parameters:
      icon - 节点
    • ToggleIcon

      public ToggleIcon(javafx.scene.Node selected, javafx.scene.Node otherwise)
      构造 SVG 图标选择按钮
      Parameters:
      selected - 已选节点
      otherwise - 未选节点
  • Method Details

    • withBackground

      public ToggleIcon withBackground()
      添加按钮背景
      Returns:
      本实例
    • withBackground

      public ToggleIcon withBackground(String borderClass)
      添加按钮背景
      Parameters:
      borderClass - 边框类
      Returns:
      本实例
    • autoSize

      public ToggleIcon autoSize()
      自适应尺寸,不使用内边距填充,图标尺寸决定组件尺寸
      Returns:
      本实例
    • isAutoSize

      public boolean isAutoSize()
      获取当前是否自适应尺寸,ture 时图标尺寸决定组件尺寸
      Returns:
      true 为自适应尺寸
    • setAutoSize

      public void setAutoSize(boolean autoSize)
      设置是否自适应尺寸,ture 时图标尺寸决定组件尺寸
      Parameters:
      autoSize - true 为自适应尺寸
    • autoSizeProperty

      public javafx.beans.property.BooleanProperty autoSizeProperty()
      获取自适应尺寸监听
      Returns:
      自适应尺寸监听
    • createDefaultSkin

      protected javafx.scene.control.Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.ToggleButton