【问题标题】:How to get JavaFX HBoxes to move items to the next line?如何让 JavaFX HBoxes 将项目移动到下一行?
【发布时间】:2014-01-22 08:21:59
【问题描述】:

我正在尝试显示一个包含复选框列表的 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.. 来截断文本,而不是将它们移动到下一行。

【问题讨论】:

  • 在一个VBox中动态使用多个HBox?
  • @doomsdaymachine 这似乎有点骇人听闻,如果我需要添加/删除控件,那会很痛苦。有没有办法让HBox自动这样工作?

标签: java javafx javafx-2


【解决方案1】:

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

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

...

FlowPane 布局窗格中的节点连续布局,并在为窗格设置的边界处环绕。节点可以垂直(按列)或水平(按行)流动。垂直流窗格环绕在窗格的高度边界处。水平流窗格环绕在窗格的宽度边界处。

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

【讨论】:

  • FlowPane 的 +1。或 TilePane,如果您希望节点大小相同。
  • 我觉得我应该吻你,我已经愚蠢地尝试了几个小时来实现同样的功能。
猜你喜欢
  • 1970-01-01
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
相关资源
最近更新 更多