シンプルな javafx アプリケーションを作成しています。2つの同心円の間にある領域内から画像を切り取りたいだけで、マウスの動きで中心座標が変わります。切り取りされたオブジェクトは最初に定義された位置に表示されましたが、マウスの動きに反応しません。私が間違っていることを教えてください。
私のコードは次のとおりです。
public DoubleProperty xCordinate;
public DoubleProperty yCordinate;
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Image image = new Image(MyClass.class
.getResource("Water lilies.jpg").toExternalForm());
Scene scene = new Scene(root, image.getWidth(), image.getHeight(),
Color.WHITE);
ImageView view = new ImageView();
view.setImage(image);
xCordinate = new SimpleDoubleProperty(100.0f);
yCordinate = new SimpleDoubleProperty(100.0f);
scene.setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
xCordinate.set(event.getX());
yCordinate.set(event.getY());
System.out.println("xCordinate " + xCordinate + " yCordinate "
+ yCordinate);
}
});
Circle c1 = new Circle();
c1.centerXProperty().bind(xCordinate);
c1.centerYProperty().bind(yCordinate);
c1.setRadius(50.0f);
Circle c2 = new Circle();
c2.centerXProperty().bind(xCordinate);
c2.centerYProperty().bind(yCordinate);
c2.setRadius(35.0f);
Shape mask = Path.subtract(c1, c2);
view.setClip(mask);
root.getChildren().add(view);
primaryStage.setScene(scene);
primaryStage.show();
}