0

我的任务是在地图上画一些点。写了一些代码,但目前我通过形状创建的每个点都将添加到我的网格窗格内的错误位置。哦,我正在使用 JavaFX。

我在 GridPane 的索引 0,0 中添加了一个 imageView,每个点都是通过 imageView 上 MouseEvent 的 x 和 y 位置创建的。之后,我将创建的点添加为 GridPane 的子项,它显示在第一个网格的 y 轴的中心。尝试了不同的东西,比如 anchorPanes 和 canvas,但似乎无法让它工作。

我的观点代码:http: //pastebin.com/dCb7EN4d

我的主要代码:http: //pastebin.com/vp5tzxkG

我希望这就足够了^^'请帮忙!

问候,本

4

1 回答 1

0

GridPane是一个托管布局:它将定位通过您设置的属性添加到其中的节点(如果您不设置它们,则使用默认值)。因此,当您将圆圈添加到网格窗格时,由于您没有设置任何属性,它会将其放置在单元格 (0,0) 中并使用默认设置将其与该单元格对齐;即它忽略centerXcenterY属性。

您在这里真正应该做的是使用不会为您管理节点位置的布局,例如 a Pane(或可能是 a Group)。您可以将 theImageViewCircles 放在窗格中,然后将窗格放在布局的其余部分(我认为是在滚动窗格中)。

您拥有的另一个选项是调用setManaged(false)您添加到的节点GridPane以指示GridPane不要定位它们,尽管这感觉更像是一种解决方法。

于 2015-05-21T15:30:02.843 回答