2013-02-20 203 views
4

我使用StackPanel作为我的数字,面板等的容器。我发现,坐标X,Y(0,0)放置在我面板的中心。JavaFX-StackPane X,Y坐标

是否有可能将其移动到左上方od Pane? 从中心计算所有维度要困难得多。

回答

11

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

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

StackPane.setAlignment(topLeftLabel, Pos.TOP_LEFT); 

即使这是可能的,从你怎么是你简要说明试图使用StackPane,这听起来像你最好使用常规的PaneGroupAnchorPane作为你想要实现的绝对定位。

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