在 JavaFX 中,是否有与setLayout();
或setBounds();
类似的内容?
例如,我想将按钮定位到我想要的位置。
答案 0 :(得分:8)
JavaFX场景图上的所有内容都是Node。每个节点都有一个X坐标和一个Y坐标。但是,set/change position
子组件有不同的方法。这取决于用于在场景图上显示组件的布局管理器。
Group
)不计算儿童的默认位置,您可以直接使用layoutX
和layoutY
Region
,automatically
使用layoutX
计算子级的默认位置,并从需要使用的默认位置调整组件的位置translateX
和translateY
值。来自文档:
如果管理节点并将Region作为其父节点,则布局区域将根据自己的布局策略设置layoutX。如果节点未受管理或由组成为父级,则应用程序可以直接设置layoutX以定位它。
答案 1 :(得分:0)
您应该阅读Node课程(开头的长篇文章),然后特别是relocate,setLayoutX(和Y)和setTranslateX(以及Y)。
答案 2 :(得分:-1)
除了已经提到的内容外,如果您可以将ur按钮(或与此相关的任何节点)放置在堆栈窗格中,那么您可以利用Stackpane的alignment属性,该属性采用javafx.geometry.Pos-堆栈窗格中的子对象。例如,在您的情况下:
<StackPane >
<Button translateY="-15" translateX="15" StackPane.alignment="TOP_RIGHT"/>
</StackPane>