将形状添加到GridPane导致错误的位置

时间:2015-05-21 15:12:44

标签: javafx gridpane

我的任务是在地图上绘制一些点。编写了一些代码,但目前我通过形状创建的每个点都会被添加到gridpane中的错误位置。哦,我正在使用JavaFX。

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

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

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

我希望那就够了^^' 请帮助!

问候, 本

1 个答案:

答案 0 :(得分:0)

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

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

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