ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

虫めがねコンポーネント

2011年02月26日 22時27分09秒 | ソフト開発日記
「JAVA SWING HACK」という本のp307~を参考に虫めがねコンポーネントを作成.

書いてあるとおりにやれば,虫めがねコンポーネントができましたが
一部変更したほうがよさそうなとこがあったのでメモ書き.

例8-1のcomputeGrabRect()メソッドのリターン文を

return new Rectangle(point.x, point.y, grabWidth, grabHeight);

return new Rectangle(point.x-mySize.width/(int)Math.round(zoom*2.0), point.y-mySize.height/(int)Math.round(zoom*2.0), grabWidth, grabHeight);

と変えると,マウス位置から右下へ引き伸ばされるように拡大されたのが,
マウス位置を中心に拡大されるようになります.
こっちのほうがきっと直感的.