我的任务是在地图上绘制一些点。编写了一些代码,但目前我通过形状创建的每个点都会被添加到gridpane中的错误位置。哦,我正在使用JavaFX。
我将一个imageView添加到我的GridPane的索引0,0,并且每个点都是通过imageView上的MouseEvent的x和y位置创建的。 之后,我将创建的点添加为GridPane的子项,并将其显示在第一个网格的y轴中心。 尝试了不同的东西,如anchorPanes和canvas,但似乎无法让它工作。
我的观点代码: http://pastebin.com/dCb7EN4d
我的主要代码: http://pastebin.com/vp5tzxkG
我希望那就够了^^' 请帮助!
问候, 本
答案 0 :(得分:0)
GridPane
是一种托管布局:它会定位通过您设置的属性添加到其中的节点(如果您不设置它们,则使用默认值)。因此,当您将圆圈添加到网格窗格时,由于您未设置任何属性,因此它会将其放置在单元格(0,0)中,并使用默认设置将其对齐到该单元格中;即它会忽略centerX
和centerY
属性。
您在这里应该做的是使用不管理节点定位的布局,例如Pane
(或可能是Group
)。您可以将ImageView
和Circle
放在窗格中,然后将窗格放在布局的其余部分中(我认为在滚动窗格中)。
您拥有的另一个选项是在您添加到setManaged(false)
的节点上调用GridPane
,以指示GridPane
不要定位它们,尽管这感觉更像是解决方法。