Javafx(FXML)中如何实现绝对定位
How to achieve absolute positioning in Javafx (FXML)
好的,假设我想要以下布局:
<GridPane>
<Button></Button>
<Button></Button>
<GridPane/>
<HBox>
<Label></Label>
<HBox/>
现在,在 HTML 中,我将通过 css 简单地应用 position: absolute
,这两个容器中的一个将从正常的文档流中分离出来,允许它在不推动其兄弟姐妹的情况下四处浮动在旁边。我正在努力实现类似的目标,但我已经用了几个小时了。
根据 Oracle 文档,这可以通过 StackPane 来实现,我不想要它,因为我希望其他容器不受影响)或者我可以使用原始 Pane 节点,它以某种方式表现得很疯狂,因为它是一个基础 class。有关窗格的文档还说:
这个class可以直接用在绝对定位children
的情况下
还有 的 children 听起来不太好...因为在我的情况下它必须是直接容器.
所以我的问题是:如何在不使用太多数学的情况下实现绝对定位?
localToScene() 会是我想要的吗?
将此节点的局部坐标 space 的边界转换为其场景的坐标 space。
我的印象是您仍在考虑 HTML 术语而不是 JavaFX 术语。例如在 JavaFX 中没有 "normal document flow"。一切都必须放入某个布局容器中,这个容器决定了事物的布局方式,如果必须的话,直接使用 Pane 也没有错。虽然我不确定您的实际用例是什么,但我想您可能想看看 AnchorPane。
好的,假设我想要以下布局:
<GridPane>
<Button></Button>
<Button></Button>
<GridPane/>
<HBox>
<Label></Label>
<HBox/>
现在,在 HTML 中,我将通过 css 简单地应用 position: absolute
,这两个容器中的一个将从正常的文档流中分离出来,允许它在不推动其兄弟姐妹的情况下四处浮动在旁边。我正在努力实现类似的目标,但我已经用了几个小时了。
根据 Oracle 文档,这可以通过 StackPane 来实现,我不想要它,因为我希望其他容器不受影响)或者我可以使用原始 Pane 节点,它以某种方式表现得很疯狂,因为它是一个基础 class。有关窗格的文档还说:
这个class可以直接用在绝对定位children
的情况下还有 的 children 听起来不太好...因为在我的情况下它必须是直接容器.
所以我的问题是:如何在不使用太多数学的情况下实现绝对定位?
localToScene() 会是我想要的吗?
将此节点的局部坐标 space 的边界转换为其场景的坐标 space。
我的印象是您仍在考虑 HTML 术语而不是 JavaFX 术语。例如在 JavaFX 中没有 "normal document flow"。一切都必须放入某个布局容器中,这个容器决定了事物的布局方式,如果必须的话,直接使用 Pane 也没有错。虽然我不确定您的实际用例是什么,但我想您可能想看看 AnchorPane。