I want to use mouse scroll to make circle bigger (mouse-scroll-up) and circle smaller (mouse-scroll-down).
I have existing code t
Answering to your question
How can I use mouse-scroll-up and mouse-scroll-down to do the same thing?
ScrollListener on the circle and use the ScrollEvent reference to get the DeltaY. zoomfactor to calculate the zoom factor you want to have.Complete Example
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.input.ScrollEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class ZoomInOutCircles extends Application {
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 350, 300);
primaryStage.setTitle("Dots");
primaryStage.setScene(scene);
Circle circle = new Circle(175, 150, 10, Color.BLUE);
addMouseScrolling(circle);
root.getChildren().add(circle);
primaryStage.show();
}
public void addMouseScrolling(Node node) {
node.setOnScroll((ScrollEvent event) -> {
// Adjust the zoom factor as per your requirement
double zoomFactor = 1.05;
double deltaY = event.getDeltaY();
if (deltaY < 0){
zoomFactor = 2.0 - zoomFactor;
}
node.setScaleX(node.getScaleX() * zoomFactor);
node.setScaleY(node.getScaleY() * zoomFactor);
});
}
}