package test;

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class DraggingInScrollPane extends Application {
    @Override public void start(Stage stage) {
        stage.setTitle("Dragging In ScrollPane");

        StackPane root = new StackPane();
        Scene scene = new Scene(root, 600, 450);

        Rectangle bg = new Rectangle(400, 2000, Color.LIGHTBLUE);
        final Circle circle = new Circle(200, 1500, 100);
        ScrollPane sp = new ScrollPane();
        sp.setContent(new Group(bg, circle));
        
        circle.setOnMouseDragged(new EventHandler<MouseEvent>() {
            @Override public void handle(MouseEvent event) {
                System.out.println(event.getY());
                circle.setCenterX(event.getX());
                circle.setCenterY(event.getY());
            }
        });

        root.getChildren().add(sp);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}