2016-07-27 3 views
1

Ich möchte die Position eines Bereichs binden, der auf die Position der Schaltfläche aufruft, und es habe ich versucht, indem Sie button.localToScene(button.getLayoutX(),button.getLayoutY() aufrufen. Die zurückgegebene Point2D-Variable enthält jedoch die falsche X-Koordinate. Ich habe es in Gimp gemessen und es soll bei 320 sein, aber es gibt mir 586 zurück.Position in der Szene eines Knotens mit localToScene (x, y) erhalten falscher Wert

Gleiche Geschichte mit localToScreen() BTW, ich habe nicht sogar 586 Pixel Bildschirmstand, bis der Knopf bereits auftaucht, so dass es unmöglich ist sei an dieser Koordinate.

Antwort

2

Sie möchten vielleicht die Knotenposition der Schaltfläche abrufen, die für das Element relevant ist, das die Schaltfläche enthält, z. B. ein Fenster oder die Szene. Wenn Sie Code bereitstellen, wäre dies hilfreich. Aber etwas wie das, wo Sie die Position des Bereichs, der Ihre Schaltfläche enthält, erhalten, dann erhalten Sie Ihre Schaltfläche Position und berechnen Sie den Unterschied. Aber ich schlage vor, versucht, dies:

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

Oder diese relativ zum Bildschirm:

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

dann die verschiedenen Methoden: getMinX(), getMinY(), getMaxX(), getMaxY(), getWidth () oder getHeight(), um die Werte Ihrer tatsächlichen Schaltfläche zu erhalten.

Hoffe, das hilft.

+1

mit button.localToScene (button.getBoundsInLocal()) scheint zu funktionieren. Es ist seltsam, dass es nicht mit den X- und Y-Koordinaten arbeitet. Oh gut danke für die Antwort :) – 404KnowledgeNotFound

Verwandte Themen