如何用列填充可用的tableview宽度?

当创建tableview时,列的默认行为是留下大量的空白空间。 有没有办法自动填充空间?

一个解决方案在这里描述: JavaFX 2自动列宽,但这似乎有点麻烦。

One Solution collect form web for “如何用列填充可用的tableview宽度?”

TornadoFX带有称为SmartResize的高级列调整策略。 你把它分配给这样的TableView:

 columnResizePolicy = SmartResize.POLICY 

默认情况下,它会根据数据尝试执行一些有用的操作,并将剩下的宽度分配给最后一列。

您可以通过调用相应的配置器功能来配置每列的大小调整选项。 例如,要告诉政策给予给定列的剩余宽度:

 column("Name", Person::nameProperty).remainingWidth() 

您可以配置多个列以接收重新生成的宽度,以便他们将共享它们之间的剩余宽度。

contentWidth()将确保列的宽度适合内容,可选的附加填充: contentWidth(padding = 50.0)

大多数调整大小选项也采取可选的useAsMin参数,这将强制给定的设置作为列的最小宽度。 useAsMax对于最大宽度也是一样的。 您将通过设置useAsMinuseAsMax或指定useAsMax fixedWidth(width)选项来获得固定大小。

您可以使用weigthedWidth(weightNum)函数或者pctWidth(pctNum)函数来分配空间。 所有这些模式可以合并

有关更多信息,请参阅“ TornadoFX指南”关于调整策略的章节 :

  • 为什么我的场景是空的?
  • TornadoFX:允许将一个项目从一个列表视图复制到剪贴板
  • TornadoFX - 创建一个MVP设计
  • 如何在Kotlin中实现TornadoFX WebEngine回调
  • Kotlin和TornadoFX:将一个可观察的属性绑定到一个集合函数?
  • tornadoFX togglebutton没有文本属性
  • TornadoFX如何在编辑TableView时添加验证
  • 即使UI线程似乎响应,标签文本也不会更新
  • TornadoFX JavaFX Sync跨桌面浏览
  • 在tornadofx中使用localdatetime和其余的springboot
  • CellCache在TableView中用tornadoFX意外渲染
  • Kotlin language will be the best programming language for Android.