2016-10-02 132 views
0

确定可以只实现绝对定位假设我想有以下布局:现在如何在JavaFX(FXML)

<GridPane> 
    <Button></Button> 
    <Button></Button> 
<GridPane/> 

<HBox> 
    <Label></Label> 
<HBox/> 

,在HTML我只想通过CSS应用position: absolute和两个容器中的一个将从正常的文档流中分离出来,让它可以在不把兄弟姐妹推到一边的情况下浮动。我正在尝试实现类似的功能,但已经有好几个小时了。

根据Oracle文档,这可以通过StackPane来实现,我不想因为我想另一个容器不受影响而使用StackPane),或者我可以使用一个原始的Pane节点,因为它的基类很好,因此很疯狂。有关窗格的文件也说:

这个类可以直接在情况下,儿童

和良好的绝对定位的儿童的犯规好听使用......在我的情况下,它必须是直接的集装箱。

所以我的问题是:我怎样才能实现绝对定位没有太多的数学黑客?

LocalToScene()是我想要的吗?

将此节点的局部坐标空间的边界转换为其场景的坐标空间。

回答

1

我的印象是,你仍然在用HTML术语而不是JavaFX术语思考。例如在JavaFX中没有“正常文档流程”。所有东西都必须放入某个布局容器中,并且此容器决定事情的布局,如果必须直接使用窗格,则没有任何问题。虽然我不确定你的实际用例是什么,但我想你可能想看看AnchorPane。

+0

我觉得这个答案非常多。只是一个小问题。任何良好的XML参考,在那里我可以看到所有可用的FXML标签和属性,如对齐,prefWidth等? oracle文档看起来很差,很难找到javafx代码的FXML等价物。 – Asperger

+0

此参考文献http://docs.oracle.com/javafx/2/fxml_get_started/jfxpub-fxml_get_started.htm总结了Oracle提供的可用文档,并且我不知道任何更好的文档。一个选项是不直接使用FXML,而是使用SceneBuilder创建视图。 (从Gluon下载最新的SceneBuilder而不是Oracle!) – mipa

+0

但是我是一个硬编码器,所以我讨厌帮助工具嘿嘿。雅,文件是非常糟糕的,没有像MDN:D – Asperger