Class DraggableNode

java.lang.Object
com.imyeyu.fx.draggable.DraggableNode

public class DraggableNode extends Object
让组件可以自由拖动,此操作不影响布局,所有偏移限制基于变换坐标,也就是组件默认位置为原点
Since:
2023-02-04 15:59
Author:
夜雨
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.ReadOnlyBooleanProperty
    获取是否正在拖动属性
    javafx.beans.property.BooleanProperty
    获取是否启用功能属性
    javafx.beans.property.ObjectProperty<javafx.scene.input.MouseButton>
    获取触发拖动事件的按钮属性
    javafx.beans.property.DoubleProperty
    获取最大 Y 值属性
    javafx.beans.property.DoubleProperty
    获取最小 Y 值属性
    javafx.beans.property.DoubleProperty
    获取最小 X 值属性
    javafx.beans.property.DoubleProperty
    获取最小 Y 值属性
    javafx.beans.property.DoubleProperty
    获取偏移 X 值属性
    javafx.beans.property.DoubleProperty
    获取偏移 Y 值属性
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected javafx.beans.property.BooleanProperty
    正否正在拖动
    protected javafx.beans.property.BooleanProperty
    是否启用
    protected javafx.beans.property.ObjectProperty<javafx.scene.input.MouseButton>
    触发按钮
    protected javafx.beans.property.DoubleProperty
    最大 X 坐标
    protected javafx.beans.property.DoubleProperty
    最大 Y 坐标
    protected javafx.beans.property.DoubleProperty
    最小 X 坐标
    protected javafx.beans.property.DoubleProperty
    最小 Y 坐标
    protected javafx.beans.property.DoubleProperty
    偏移补偿 X 值
    protected javafx.beans.property.DoubleProperty
    偏移补偿 Y 值
  • Constructor Summary

    Constructors
    Constructor
    Description
    DraggableNode(javafx.scene.Node node)
    默认构造器
    DraggableNode(javafx.scene.Node handler, javafx.scene.Node target)
    默认构造器
  • Method Summary

    Modifier and Type
    Method
    Description
    javafx.beans.property.ReadOnlyBooleanProperty
    获取是否正在拖动属性
    javafx.beans.property.BooleanProperty
    获取是否启用功能属性
    javafx.beans.property.ObjectProperty<javafx.scene.input.MouseButton>
    获取触发拖动事件的按钮属性
    javafx.scene.input.MouseButton
    获取触发拖动事件的按钮
    double
    获取最大 X 值
    double
    获取最大 Y 值
    double
    获取最小 X 值
    double
    获取最小 Y 值
    double
    获取偏移 X 值
    double
    获取偏移 Y 值
    boolean
    获取是否正在拖动
    boolean
    获取是否启用功能
    javafx.beans.property.DoubleProperty
    获取最大 Y 值属性
    javafx.beans.property.DoubleProperty
    获取最小 Y 值属性
    javafx.beans.property.DoubleProperty
    获取最小 X 值属性
    javafx.beans.property.DoubleProperty
    获取最小 Y 值属性
    javafx.beans.property.DoubleProperty
    获取偏移 X 值属性
    javafx.beans.property.DoubleProperty
    获取偏移 Y 值属性
    protected void
    setDragging(boolean dragging)
    设置是否正在拖动
    void
    setEnable(boolean enable)
    设置是否启用功能
    void
    setEventButton(javafx.scene.input.MouseButton eventButton)
    设置触发拖动事件的按钮
    void
    setMaxX(double maxX)
    设置最大 X 值
    void
    setMaxY(double maxY)
    设置最大 Y 值
    void
    setMinX(double minX)
    设置最小 X 值
    void
    setMinY(double minY)
    设置最小 Y 值
    void
    setOffsetX(double offsetX)
    设置偏移 X 值
    void
    setOffsetY(double offsetY)
    设置偏移 Y 值

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Property Details

  • Field Details

    • minX

      protected javafx.beans.property.DoubleProperty minX
      最小 X 坐标
    • maxX

      protected javafx.beans.property.DoubleProperty maxX
      最大 X 坐标
    • minY

      protected javafx.beans.property.DoubleProperty minY
      最小 Y 坐标
    • maxY

      protected javafx.beans.property.DoubleProperty maxY
      最大 Y 坐标
    • offsetX

      protected javafx.beans.property.DoubleProperty offsetX
      偏移补偿 X 值
    • offsetY

      protected javafx.beans.property.DoubleProperty offsetY
      偏移补偿 Y 值
    • enable

      protected javafx.beans.property.BooleanProperty enable
      是否启用
    • dragging

      protected javafx.beans.property.BooleanProperty dragging
      正否正在拖动
    • eventButton

      protected javafx.beans.property.ObjectProperty<javafx.scene.input.MouseButton> eventButton
      触发按钮
  • Constructor Details

    • DraggableNode

      public DraggableNode(javafx.scene.Node node)
      默认构造器
      Parameters:
      node - 组件
    • DraggableNode

      public DraggableNode(javafx.scene.Node handler, javafx.scene.Node target)
      默认构造器
      Parameters:
      handler - 触发组件
      target - 移动组件
  • Method Details

    • getMinX

      public double getMinX()
      获取最小 X 值
      Returns:
      最小 X 值
    • minXProperty

      public javafx.beans.property.DoubleProperty minXProperty()
      获取最小 X 值属性
      Returns:
      最小 X 值属性
      See Also:
    • setMinX

      public void setMinX(double minX)
      设置最小 X 值
      Parameters:
      minX - 最小 X 值
    • getMaxX

      public double getMaxX()
      获取最大 X 值
      Returns:
      最大 X 值
    • maxXProperty

      public javafx.beans.property.DoubleProperty maxXProperty()
      获取最大 Y 值属性
      Returns:
      最大 Y 值属性
      See Also:
    • setMaxX

      public void setMaxX(double maxX)
      设置最大 X 值
      Parameters:
      maxX - 最大 X 值
    • getMinY

      public double getMinY()
      获取最小 Y 值
      Returns:
      最小 Y 值
    • minYProperty

      public javafx.beans.property.DoubleProperty minYProperty()
      获取最小 Y 值属性
      Returns:
      最小 Y 值属性
      See Also:
    • setMinY

      public void setMinY(double minY)
      设置最小 Y 值
      Parameters:
      minY - 最小 Y 值
    • getMaxY

      public double getMaxY()
      获取最大 Y 值
      Returns:
      最小 Y 值
    • maxYProperty

      public javafx.beans.property.DoubleProperty maxYProperty()
      获取最小 Y 值属性
      Returns:
      最小 Y 值属性
      See Also:
    • setMaxY

      public void setMaxY(double maxY)
      设置最大 Y 值
      Parameters:
      maxY - 最大 Y 值
    • getOffsetX

      public double getOffsetX()
      获取偏移 X 值
      Returns:
      偏移 X 值
    • offsetXProperty

      public javafx.beans.property.DoubleProperty offsetXProperty()
      获取偏移 X 值属性
      Returns:
      偏移 X 值属性
      See Also:
    • setOffsetX

      public void setOffsetX(double offsetX)
      设置偏移 X 值
      Parameters:
      offsetX - 偏移 X 值
    • getOffsetY

      public double getOffsetY()
      获取偏移 Y 值
      Returns:
      偏移 Y 值
    • offsetYProperty

      public javafx.beans.property.DoubleProperty offsetYProperty()
      获取偏移 Y 值属性
      Returns:
      偏移 Y 值属性
      See Also:
    • setOffsetY

      public void setOffsetY(double offsetY)
      设置偏移 Y 值
      Parameters:
      offsetY - 偏移 Y 值
    • isEnable

      public boolean isEnable()
      获取是否启用功能
      Returns:
      true 为启用
    • enableProperty

      public javafx.beans.property.BooleanProperty enableProperty()
      获取是否启用功能属性
      Returns:
      是否启用功能属性
      See Also:
    • setEnable

      public void setEnable(boolean enable)
      设置是否启用功能
      Parameters:
      enable - true 为启用
    • isDragging

      public boolean isDragging()
      获取是否正在拖动
      Returns:
      true 为正在拖动
    • draggingProperty

      public javafx.beans.property.ReadOnlyBooleanProperty draggingProperty()
      获取是否正在拖动属性
      Returns:
      拖动属性
      See Also:
    • setDragging

      protected void setDragging(boolean dragging)
      设置是否正在拖动
      Parameters:
      dragging - true 为正在拖动
    • getEventButton

      public javafx.scene.input.MouseButton getEventButton()
      获取触发拖动事件的按钮
      Returns:
      触发拖动事件的按钮
    • eventButtonProperty

      public javafx.beans.property.ObjectProperty<javafx.scene.input.MouseButton> eventButtonProperty()
      获取触发拖动事件的按钮属性
      Returns:
      触发拖动事件的按钮属性
      See Also:
    • setEventButton

      public void setEventButton(javafx.scene.input.MouseButton eventButton)
      设置触发拖动事件的按钮
      Parameters:
      eventButton - 触发拖动事件的按钮