JavaFX Utils

Movable

Component to help implement movable Node which can be dragger around inside node Parent.

This component sets EventHandlers on onMousePressed and onMouseDragged events and change the position of Node.

Constructors

public Movable(T node, BiFunction<Double, Double, Boolean> acceptNewPosition, Consumer<MouseEvent> onMove, Consumer<MoveResult> onMoveFinished, boolean keepOldHandlers)

  • node : Node in which will be mounted the movable functionality.
  • acceptNewPosition : function which receives newX an newY before the component moves, if new positions are accepted this function should return true.
  • onMove : action to be triggered on move.
  • onMoveFinished : action called on end of movement with info about it.
  • keepOldHandlers : indicates if the EventHandlers are to keep or to be discarded.

There are more constructors with different parameters, but all will internally call this first one.

Variations :

  • Constructors that don't receive boolean keepOldHandlers this value is assumed as true.
  • Constructors that don't receive BiFunction<Double, Double, Boolean> acceptNewPosition this value is assumed as (newX, newY)->true.
  • Constructors that don't receive Consumer<MoveResult> onMoveFinished this value is assumed as (mr)->{}.
  • Constructors that receive BiConsumer<Doueble, Double> onMove action called on move that receives x and y coordinates.
  • Constructors that receive IComponent<T> component and obtain Node object from component.getNode().
public Movable(T node, Consumer<MouseEvent> onMove, boolean keepOldHandlers)
public Movable(T node, Consumer<MouseEvent> onMove)
public Movable(T node, BiConsumer<Double, Double> onMove, boolean keepOldHandlers)
public Movable(T node, BiConsumer<Double, Double> onMove)
public Movable(T node, boolean keepOldHandlers)
public Movable(T node)
public Movable(IComponent<T> component, Consumer<MouseEvent> onMove, boolean keepOldHandlers)
public Movable(IComponent<T> component, Consumer<MouseEvent> onMove)
public Movable(IComponent<T> component, BiConsumer<Double, Double> onMove, boolean keepOldHandlers)
public Movable(IComponent<T> component, BiConsumer<Double, Double> onMove)
public Movable(IComponent<T> component, boolean keepOldHandlers)
public Movable(IComponent<T> component)

Usage

	Button button;

	new Movable<>(button).mount();
					

Links