シーンのノードの実際の位置を取得する方法コンテナ/トランスフォームに関係なく絶対位置。JavaFXでのノードのグローバル座標の取得
たとえば、あるノードa
を別のノードb
と一時的に重複するように変換したいとします。そこで彼のtranslateX
プロパティをb.globalX-a.globalX
に設定したいと思います。
ドキュメントは言う:
は、Xは、レイアウトの目的のために、このノードの 変換された座標に加算される 翻訳の座標を定義します。レイアウトを実行するコンテナ またはグループ 相対的な の位置にノード を配置するために layoutBounds.minXを基準にしてこの変数を設定します。例えば
、子供がfinalXの 最終位置有していなければならない場合:
child.layoutX = finalX - child.layoutBounds.minX;
を任意のノードの最後の座標が
finalX = node.layoutX + node.layoutBounds.minX
しかし、次のコードを実行しているべきです:
var rect;
Stage {
title: "Application title"
width: 250
height:250
scene: Scene {
content: [
Stack{content:[rect = Rectangle { width:10 height:10}] layoutX:10}
]
}
}
println("finalX = {rect.layoutX+rect.layoutBounds.minX}");
は、文書のように一見、finalX = 10.0
の代わりに私にfinalX = 0.0
を与えます。
JavaFXで絶対的な最終的な座標を取得する明確な方法はありますか?
を確認することができます「localToScreen」と
を開始しますか?それはJava、多分JSONではありませんか? –
Sun/Oracleの新しいプログラミング言語であるJavaFXです。 –
フォーマットは、JavaFXだとわかっていますが、Javaコードではありません。 –