JavaFX - StackPane X,Y坐标

时间:2013-02-20 15:31:57

标签: javafx stackpanel

我正在使用StackPanel作为我的图形,面板等的容器。我发现,坐标X,Y(0,0)位于我面板的中心。

是否可以将其移至顶部od Pane? 从中心计算所有尺寸要困难得多。

1 个答案:

答案 0 :(得分:13)

您可以使用StackPane.setAlignment(node, position)方法将添加到StackPane的节点布局设置为Stackpane中的位置:

Label topLeftLabel = new Label("Top Left");
StackPane stack = new StackPane();
stack.getChildren().add(topLeftLabel);

StackPane.setAlignment(topLeftLabel, Pos.TOP_LEFT);

即使这是可能的,但是从您对如何使用StackPane的简短描述中,听起来您最好使用常规PaneGroup或{ {3}}表示您希望实现的绝对定位。

也可以考虑使用AnchorPane之类的可视化工具。即使您最终没有使用它输出的FXML,SceneBuilder也可以让您更好地了解JavaFX布局机制的工作原理。 SceneBuilder使用AnchorPane作为其默认布局窗格,用于为元素提供绝对定位(这似乎是您想要实现的目标)。