2

私は ScalaFX (ただし、Scala の使用はここでは関係ありません) アプリケーションを作成しています。つまり、Google マップに似たユーザー インターフェイスを備えています。パンとズームがあります。

このようなユーザーの視点の変更ごとに、グループの に変換を追加し.transformsます。

transforms += new Translate( dx, dy )

また

transforms += new Scale( 1/f,1/f, cx, cy )

これは、変換に影響を与える唯一の方法のようで (私が無視している , を除く)、機能しますtranslateXYZlayoutXYZ

ドキュメントには次のように書かれています。

変換の順序付けられたチェーンを指定することにより、ノードに複数の変換を適用できます。変換が適用される順序は、変換変数で指定された ObservableList によって定義されます。

これは、潜在的に数百または数千のエントリのリスト (観察可能なリストでさえ) があることを意味しませんか?

もしそうなら、私は時々リストを平らにしたいと思います。.localToSceneTransoformこのためにandを呼び出し.localToParentTransformてみました(受信した全体的なアフィン行列で .transforms を設定すると思います)。これにより、JVMがクラッシュしました。

ここで何か間違ったことをしているのですか、それとも、リストが無限に大きくなるのを気にするのをやめるべきですか?

このすべて (クラッシュを含む) を強調する短い ScalaFX サンプル コードを提供できます。問い合わせてください。

システム: OS X、JVM 7u10

4

1 に答える 1