我正在尝试显示包含复选框列表的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..
来截断文本而不是将它们移到下一行。
答案 0 :(得分:13)
您应该尝试使用FlowPane。我试过了,得到了你一直在寻找的结果。
HBox布局窗格提供了一种在一行中排列一系列节点的简便方法
...
FlowPane布局窗格中的节点将连续布局并包装在窗格的边界集中。节点可以垂直(以列为单位)或水平(以行为单位)流动。垂直流窗格包裹在窗格的高度边界处。水平流窗格包裹在窗格的宽度边界处。
来源:http://docs.oracle.com/javafx/2/layout/builtin_layouts.htm#CHDGHCDG (这是一个有用的读物)