如果我直接在Circle
元素中使用JavaFX元素(例如,Scene
),它就会正确定位。但是,如果我直接将其放在Pane
(例如下面的BorderPane
)中,那么它就不会正确定位。
示例1(正确地将圆圈定位在(10,10)处):
Circle c = new Circle(10,10,15);
Group g = new Group(c);
Scene s = new Scene(g,800,600);
stage.setScene(s);
stage.show();
示例2(不起作用):
Circle c = new Circle(10,10,15);
Group g = new Group(c);
BorderPane b = new BorderPane();
b.setCenter(g);
Scene s = new Scene(b,800,600);
stage.setScene(s);
stage.show();
有什么想法吗?
答案 0 :(得分:1)
有些窗格会处理孩子的位置,无论您将x
和y
设置为什么,有些窗格都没有。如果您想设置排名,可能需要Pane
内的BorderPane
。
来自Pane的API文档:
此类可以直接用于绝对定位的情况 由于除了调整大小之外它不执行布局,因此需要子级 可调整大小的孩子到他们喜欢的大小这是应用程序的 自窗格离开后,责任定位孩子 布局期间独立的位置。
更多信息:http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/package-summary.html