如何让JavaFX HBox将项目移动到下一行?

时间:2014-01-04 17:44:14

标签: java javafx javafx-2

我正在尝试显示包含复选框列表的HBox。例如:

HBox container = new HBox();
for (Weekday day: Weekday.values() )
{
   container.getChildren().add( new CheckBox( day.getName() ) ); 
}

然而,这显示所有日子都在一行,如:

Sunday Monday Tuesday Wednesday Thursday Friday Saturday

窗口不够大,无法在一行显示所有内容,因此我得到一个水平滚动条。我需要的是显示两行的日子,例如:

Sunday Monday Tuesday Wednesday
Thursday Friday Saturday

我已经尝试了container.setPrefWidth()但它只是让它显示Su.., Mo..来截断文本而不是将它们移到下一行。

1 个答案:

答案 0 :(得分:13)

您应该尝试使用FlowPane。我试过了,得到了你一直在寻找的结果。

  

HBox布局窗格提供了一种在一行中排列一系列节点的简便方法

     

...

     

FlowPane布局窗格中的节点将连续布局并包装在窗格的边界集中。节点可以垂直(以列为单位)或水平(以行为单位)流动。垂直流窗格包裹在窗格的高度边界处。水平流窗格包裹在窗格的宽度边界处。

来源:http://docs.oracle.com/javafx/2/layout/builtin_layouts.htm#CHDGHCDG (这是一个有用的读物​​)