我正在使用StackPanel作为我的图形,面板等的容器.我发现,坐标X,Y(0,0)位于我面板的中心.
有可能将它移到左上方的窗格吗?从中心计算所有尺寸要困难得多.
jew*_*sea 14
您可以使用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);
Run Code Online (Sandbox Code Playgroud)
即使这是可能的,从您对如何使用StackPane的简要描述中,听起来您最好使用常规Pane,或者Group或AnchorPane来获得您认为想要的绝对定位实现.
可能还会考虑使用SceneBuilder等可视化工具.即使您最终没有使用它输出的FXML,SceneBuilder也可以让您更好地了解JavaFX布局机制的工作原理.SceneBuilder使用AnchorPane它作为默认布局窗格,用于为元素提供绝对定位(这似乎是您想要实现的).