private void unobserve(Node n) { n.layoutXProperty().removeListener(this); n.layoutYProperty().removeListener(this); }
private void observe(Node n) { n.layoutXProperty().addListener(this); n.layoutYProperty().addListener(this); }
if (getToggleNode() != null) { Region toggleNode = getToggleNode(); newVal.layoutXProperty() .bind(Bindings.createDoubleBinding(() -> toggleNode.getLayoutX() + toggleNode.getWidth() / 2, toggleNode.widthProperty(), if (newVal != null) { if (getClip() != null) { getClip().layoutXProperty().unbind(); getClip().layoutYProperty().unbind(); getClip().layoutXProperty() .bind(Bindings.createDoubleBinding(() -> newVal.getLayoutX() + newVal.getWidth() / 2, newVal.widthProperty(),
@Override public DoubleProperty layoutYProperty(Node node) { return node.layoutXProperty(); }
@Override protected double computeValue() { return getReceiverShape().getNode().layoutXProperty().get() + getReceiverShape().getNode().getTranslateX() + getReceiverShape().getRadius(); } };
/** * Makes a node draggable via mouse gesture. * * <p> * <b>Note:</b> Existing handlers will be replaced!</p> * * @param n the node that shall be made draggable * @param dragHandler additional drag handler * @param pressHandler additional press handler */ public static void makeDraggable(final Node n, EventHandler<MouseEvent> dragHandler, EventHandler<MouseEvent> pressHandler, boolean centerNode) { EventHandlerGroup<MouseEvent> dragHandlerGroup = new EventHandlerGroup<>(); EventHandlerGroup<MouseEvent> pressHandlerGroup = new EventHandlerGroup<>(); if (dragHandler != null) { dragHandlerGroup.addHandler(dragHandler); } if (pressHandler != null) { pressHandlerGroup.addHandler(pressHandler); } n.setOnMouseDragged(dragHandlerGroup); n.setOnMousePressed(pressHandlerGroup); n.layoutXProperty().unbind(); n.layoutYProperty().unbind(); _makeDraggable(n, dragHandlerGroup, pressHandlerGroup, centerNode); }
connectedShape.layoutXProperty().bind(receiverUI.layoutXProperty()); connectedShape.layoutYProperty().bind(receiverUI.layoutYProperty()); } else { connectedShape.layoutXProperty().bind(receiverUI.layoutXProperty().add(receiverUI.getBoundsInLocal().getWidth() * 0.5)); connectedShape.layoutYProperty().bind(receiverUI.layoutYProperty().add(receiverUI.getBoundsInLocal().getHeight() * 0.5));
connectedShape.layoutXProperty().bind(receiverUI.layoutXProperty()); connectedShape.layoutYProperty().bind(receiverUI.layoutYProperty()); } else { connectedShape.layoutXProperty().bind(receiverUI.layoutXProperty().add(receiverUI.getBoundsInLocal().getWidth() * 0.5)); connectedShape.layoutYProperty().bind(receiverUI.layoutYProperty().add(receiverUI.getBoundsInLocal().getHeight() * 0.5));
if (getToggleNode() != null) { Region toggleNode = getToggleNode(); newVal.layoutXProperty() .bind(Bindings.createDoubleBinding(() -> toggleNode.getLayoutX() + toggleNode.getWidth() / 2, toggleNode.widthProperty(), if (newVal != null) { if (getClip() != null) { getClip().layoutXProperty().unbind(); getClip().layoutYProperty().unbind(); getClip().layoutXProperty() .bind(Bindings.createDoubleBinding(() -> newVal.getLayoutX() + newVal.getWidth() / 2, newVal.widthProperty(),
super.bind(senderNode.layoutXProperty(), senderNode.translateXProperty(), senderShape.radiusProperty());
final DoubleBinding receiveXBinding = new DoubleBinding() { super.bind(getReceiverShape().getNode().layoutXProperty(), getReceiverShape().getNode().translateXProperty(), getReceiverShape().radiusProperty());