2016-07-27 1 views
1

コールするボタンの位置までポップアップする位置をバインドしたい場合は、コールすることで呼び出しましたbutton.localToScene(button.getLayoutX(),button.getLayoutY()。しかし、返されたPoint2D変数のX座標が間違っています。私はGimpでそれを測定し、それは320になるはずですが、それは私に586を返します。localToScene(x、y)を持つノードのシーン内の位置が間違った値を返します

同じ話はlocalToScreen()と同じですが、私はボタンがすでに表示されるまで586ピクセルの画面を持っていません。その座標にある。

答えて

2

ボタンのノード位置を、ペインやシーンなどのボタンが含まれている要素に関連付けることができます。しかし、あなたのボタンを含むペインの位置を取得し、urボタンの位置を取得し、その違いを解決する、このようなもの。その後、メソッドを使用し

Bounds boundsInScreen = button.localToScreen(button.getBoundsInLocal()); 

:画面へ

Bounds boundsInScene = button.localToScene(button.getBoundsInLocal()); 

またはこの相対:しかし、私はこれをしようとお勧めgetMinX()、getMinY()、getMaxX()、getMaxY()、のgetWidth( )またはgetHeight()を使用して、実際のボタンの値を取得します。

これが役に立ちます。

+1

button.localToScene(button.getBoundsInLocal())を使用しているようです。その奇妙なxとy座標で動作しないことは厳しい。ああよく答えに感謝:) – 404KnowledgeNotFound