private void setInteractions(Anchor anchor) { anchor.setOnMouseEntered(event -> anchor.setStroke(Color.RED)); anchor.setOnMouseExited(event -> anchor.setStroke(Color.TRANSPARENT)); anchor.setOnMouseDragEntered(event -> anchor.setStroke(Color.RED)); anchor.setOnMouseDragExited(event -> anchor.setStroke(Color.TRANSPARENT)); anchor.setOnDragDetected( event -> { WireController wireController = WireController.getInstance(); if (!wireController.active()) { wireController.setActive(); wireController.setStart(anchor); anchor.startFullDrag(); } }); anchor.setOnMouseDragged(Event::consume); anchor.setOnMouseDragReleased( (event) -> { WireController wireController = WireController.getInstance(); if (wireController.active() && wireController.getStartAnchor().getParent() != anchor.getParent() && (anchor.getDirection() == Anchor.Direction.unset || (wireController.getStartAnchor().getParentComponent() instanceof Voltmeter || anchor.getParentComponent() instanceof Voltmeter))) { wireController.completeWire(anchor); wireController.setDormant(); } }); }