JavaFX8でマウス位置を中心にしたズームを行いたい


本家スタックオーバーフローでも同様の質問がされています。

<https://stackoverflow.com/questions/35242838/javafx-zooming-to-mouse-as-
pivot>

この記事の質問者は自己解決されたようなのですが、私は解決に至っておらず、改めて日本語版の方で質問させていただくことにしました。

この記事の概要は下記の通りです。

  * ノードが全てグリッド上に存在するときは期待通り(マウス位置を中心に)ズームされる
  * ノードがグリッド外にある時にズームすると位置がずれる。

キモの部分はScrollEventのhandleメソッドです。dx,dyが拡縮の中心位置を設定しているのはわかるのですが、このロジックでノードがグリッド外にある時に計算結果がズレる理由がわかりません。

ノードがグリッド外にあるときでも正常にズームできる方法はないでしょうか？  
タイトルの機能を実装することが目的なので、全く別の実現方法でもかまいません。




自己解決しました。 この回答のロジックを組み込めばOKでした。 stackoverflow.com/a/40999738/3270390




自己解決しました。 この回答のロジックを組み込めばOKでした。 stackoverflow.com/a/40999738/3270390

