FlowPane 和定位

FlowPane and Positioning

是否可以通过以下方式使用流程窗格? 将两个组件 (img/label) 对齐到左侧,然后将多个按钮对齐到右侧。示例:

    +----------------------------------------------------------------+
    | +------+ +----------+                          +-----+ +-----+ |
    | |  Img | | Text...  |                          | btn | | btn | |
    | +------+ +----------+                          +-----+ +-----+ |
    +----------------------------------------------------------------+

我正在为设计/易用性添加按钮,但 运行 变成了一堵砖墙。我宁愿不必更改 'holding panel'.

如果不行可以在css中模拟(float?)

谢谢

是的!

myFlow.add(griddy); // this gridlayout contains img and text
myFlowcontainer.add(Box.createRigidArea(new Dimension(5,0))); // Creating a space between. 
The actual size will be defined by you
myFlow.add(griddy2); // The other element with the btn btn

这应该能达成交易 ;)

A FlowPane可以设置页边距。 Here 是一个示例,展示了如何计算边距的宽度以使按钮右对齐。

scene.widthProperty().addListener( ( observable, oldWidth, newWidth ) ->
{
  final double spacerMargin = newWidth.doubleValue()
      - scene.getRoot().getChildrenUnmodifiable().stream().mapToDouble( node -> node.getLayoutBounds().getWidth() ).sum();
  FlowPane.clearConstraints( btn3 );
  FlowPane.setMargin( btn3, new Insets( 0, 0, 0, spacerMargin ) );
} );

您基本上是从场景的宽度中减去 FlowPane 子项的所有宽度。