protected void initControlListeners() { // if the control got resized the overlay rect must be rest control.layoutBoundsProperty().addListener(observable -> resetRippler()); if (getChildren().contains(control)) { control.boundsInParentProperty().addListener(observable -> resetRippler()); } control.addEventHandler(MouseEvent.MOUSE_PRESSED, (event) -> createRipple(event.getX() + padding, event.getY() + padding)); // create fade out transition for the ripple control.addEventHandler(MouseEvent.MOUSE_RELEASED, e -> releaseRipple()); }
/** * init mouse listeners on the control */ protected void initControlListeners() { // if the control got resized the overlay rect must be rest control.layoutBoundsProperty().addListener(observable -> resetRippler()); if(getChildren().contains(control)) control.boundsInParentProperty().addListener(observable -> resetRippler()); control.addEventHandler(MouseEvent.MOUSE_PRESSED, (event) -> createRipple(event.getX(), event.getY())); // create fade out transition for the ripple control.addEventHandler(MouseEvent.MOUSE_RELEASED, e -> releaseRipple()); }
private void displayLabelForData(XYChart.Data<String, Number> data) { final Node node = data.getNode(); final Text dataText = new Text(data.getYValue() + ""); node.parentProperty().addListener(new ChangeListener<Parent>() { @Override public void changed(ObservableValue<? extends Parent> ov, Parent oldParent, Parent parent) { Group parentGroup = (Group) parent; parentGroup.getChildren().add(dataText); } }); node.boundsInParentProperty().addListener(new ChangeListener<Bounds>() { @Override public void changed(ObservableValue<? extends Bounds> ov, Bounds oldBounds, Bounds bounds) { dataText.setLayoutX( Math.round( bounds.getMinX() + bounds.getWidth() / 2 - dataText.prefWidth(-1) / 2 ) ); dataText.setLayoutY( Math.round( bounds.getMinY() - dataText.prefHeight(-1) * 0.5 ) ); } }); }
node.boundsInParentProperty().addListener(new ChangeListener<Bounds>() { @Override public void changed( ObservableValue<? extends Bounds> observableValue,
/** * Resizes the {@link #nodeClip} to the specified new node's {@link Node#boundsInParentProperty() * boundsInParent} (or to an empty rectangle if it is {@code null}) and moves the * {@link #updateNodeClipToNewBoundsListener} from the old to the new node's {@code boundInParents} property. * <p> * Designed to be used as a lambda method reference. * * @param o * the {@link ObservableValue} which changed its value * @param oldNode * the old node * @param newNode * the new node */ private void updateNodeClipToChangingNode( @SuppressWarnings("unused") ObservableValue<? extends Node> o, Node oldNode, Node newNode) { // resize the rectangle to match the new node resizeRectangleToNodeBounds(nodeClip, newNode); // move the listener from one node to the next if (oldNode != null) { oldNode.boundsInParentProperty().removeListener(updateNodeClipToNewBoundsListener); } if (newNode != null) { newNode.boundsInParentProperty().addListener(updateNodeClipToNewBoundsListener); } }
oldNode.boundsInParentProperty().removeListener(resizeSelectionToNewNodeBoundsListener); newNode.boundsInParentProperty().addListener(resizeSelectionToNewNodeBoundsListener);
/** * Enables resizing if the {@link SnapshotView#selectionAreaBoundary selectionAreaBoundary} is * {@link Boundary#CONTROL CONTROL}. */ private void enableResizingForControl() { // remove listeners for node and its bounds node.removeListener(updateSelectionToNodeListener); if (getNode() != null) { getNode().boundsInParentProperty().removeListener(resizeSelectionToNewNodeBoundsListener); } // add listener for the control's size widthProperty().addListener(resizeSelectionToNewControlWidthListener); heightProperty().addListener(resizeSelectionToNewControlHeightListener); resizeSelectionFromNodeToControl(); }
/** * Enables resizing if the {@link SnapshotView#selectionAreaBoundary selectionAreaBoundary} is * {@link Boundary#NODE NODE}. */ private void enableResizingForNode() { // remove listeners for the control's size widthProperty().removeListener(resizeSelectionToNewControlWidthListener); heightProperty().removeListener(resizeSelectionToNewControlHeightListener); // add listener for the node's bounds and for new nodes if (getNode() != null) { getNode().boundsInParentProperty().addListener(resizeSelectionToNewNodeBoundsListener); } node.addListener(updateSelectionToNodeListener); resizeSelectionFromControlToNode(); }
l.startXProperty().bind(Bindings.createDoubleBinding( () -> start.getBoundsInParent().getMaxX(), start.boundsInParentProperty())); l.startYProperty().bind(Bindings.createDoubleBinding( () -> start.getBoundsInParent().getMinY() + start.getBoundsInParent().getHeight() / 2, start.boundsInParentProperty())); l.endXProperty().bind(Bindings.createDoubleBinding( () -> end.getBoundsInParent().getMinX(), end.boundsInParentProperty())); l.endYProperty().bind(Bindings.createDoubleBinding( () -> end.getBoundsInParent().getMinY() + end.getBoundsInParent().getHeight() / 2, end.boundsInParentProperty())); return l ;
protected void initControlListeners() { // if the control got resized the overlay rect must be rest control.layoutBoundsProperty().addListener(observable -> resetRippler()); if (getChildren().contains(control)) { control.boundsInParentProperty().addListener(observable -> resetRippler()); } control.addEventHandler(MouseEvent.MOUSE_PRESSED, (event) -> createRipple(event.getX() + padding, event.getY() + padding)); // create fade out transition for the ripple control.addEventHandler(MouseEvent.MOUSE_RELEASED, e -> releaseRipple()); }
/** * init mouse listeners on the control */ protected void initControlListeners() { // if the control got resized the overlay rect must be rest control.layoutBoundsProperty().addListener(observable -> resetRippler()); if(getChildren().contains(control)) control.boundsInParentProperty().addListener(observable -> resetRippler()); control.addEventHandler(MouseEvent.MOUSE_PRESSED, (event) -> createRipple(event.getX(), event.getY())); // create fade out transition for the ripple control.addEventHandler(MouseEvent.MOUSE_RELEASED, e -> releaseRipple()); }
final ReadOnlyObjectProperty<Bounds> bounds = monitoredShape.boundsInParentProperty();