Point2D pointOnImage = null; try { pointOnImage = imageRegion.getLocalToSceneTransform().inverseTransform(e.getSceneX(), e.getSceneY()); } catch (NonInvertibleTransformException e1) { zoom(e.getZoomFactor(), pointOnImage); });
/** * {@inheritDoc} */ @Override public void handle(final ZoomEvent zoomEvent) { final EventType<?> type = zoomEvent.getEventType(); if (ZoomEvent.ZOOM_STARTED == type) { adapter().zoomStarted(zoomEvent); } else if (ZoomEvent.ZOOM == type) { adapter().zoom(zoomEvent); } else if (ZoomEvent.ZOOM_FINISHED == type) { adapter().zoomFinished(zoomEvent); } else { adapter().anyZoom(zoomEvent); } } }
double factor = evt.getZoomFactor(); view.setZoomFactor(view.getZoomFactor() * factor); evt.consume(); });
@Override public void run() { node.getTransforms().addAll(xRotate, yRotate); scene.setOnMousePressed(e -> { mousePoint = new Point2D(e.getSceneX(), e.getSceneY()); }); scene.setOnZoom((e) -> { System.out.println(node.getTranslateZ()); node.setTranslateZ(node.getTranslateZ() + (1.0 - e.getZoomFactor()) * 100); }); scene.setOnMouseDragged(e -> { double mouseDeltaX = (e.getSceneX() - mousePoint.getX()); double mouseDeltaY = (e.getSceneY() - mousePoint.getY()); mousePoint = new Point2D(e.getSceneX(), e.getSceneY()); xRotate.setAngle(xRotate.getAngle() - mouseDeltaY * 0.1 * 2.0); yRotate.setAngle(yRotate.getAngle() + mouseDeltaX * 0.1 * 2.0); }); } }.run();
@Override public void run() { node.getTransforms().addAll(xRotate, yRotate); scene.setOnMousePressed(e -> { mousePoint = new Point2D(e.getSceneX(), e.getSceneY()); }); scene.setOnZoom((e) -> { System.out.println(node.getTranslateZ()); node.setTranslateZ(node.getTranslateZ() + (1.0 - e.getZoomFactor()) * 100); }); scene.setOnMouseDragged(e -> { double mouseDeltaX = (e.getSceneX() - mousePoint.getX()); double mouseDeltaY = (e.getSceneY() - mousePoint.getY()); mousePoint = new Point2D(e.getSceneX(), e.getSceneY()); xRotate.setAngle(xRotate.getAngle() - mouseDeltaY * 0.1 * 2.0); yRotate.setAngle(yRotate.getAngle() + mouseDeltaX * 0.1 * 2.0); }); } }.run();