java - 如何在任何 Pane 中定位 JavaFX 形状?

标签 java javafx position

如果我直接在 Scene 元素中使用 JavaFX 元素(例如,Circle),它会正确定位。但是,如果我直接将其放在 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();

有什么想法吗?

最佳答案

有些 Pane 会处理其子 Pane 的位置,无论您将其 xy 设置为何,而有些则不会。如果您想设置位置,您可能需要在 BorderPane 内放置一个 Pane

来自 Pane 的 API 文档:

This class may be used directly in cases where absolute positioning of children is required since it does not perform layout beyond resizing resizable children to their preferred sizes. It is the application's responsibility to position the children since the pane leaves the positions alone during layout.

更多信息请参见:http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/package-summary.html

关于java - 如何在任何 Pane 中定位 JavaFX 形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501797/

相关文章:

java - Apache DefaultHttpClient : How to set max. 总连接数和默认最大值。每条路线的连接数

java - Quickblox 自定义对象推送到包含 : ' , ' or ' " ' 的数组字符串

java - jfxrt.jar 包含在 Java 8 中吗?

HTML CSS h3 iframe 定位

css - 固定 div 垂直和右对齐到另一个 div

java - 可以将 AWT 与 JavaFx 一起使用吗?

java - 将 EAR 的多个实例(代表版本)部署到 Glassfish

JavaFX 拖放到 GridPane?

JavaFX:如何为组合框设置操作?

html - HTML 标签上的背景位置不起作用