JavaFX:在TableView中强制单个列宽

时间:2014-12-03 08:52:38

标签: layout javafx width tableview

如何在TableView中强制单个列宽?

假设我有一个按钮可以将所有列的宽度重置为预定义的值。我的TableView配置为UNCONSTRAINED_RESIZE_POLICY。现在,如果我手动调整两个列,然后点击重置按钮,则没有任何反应。

我正在使用setPrefWidth()来设置首选列宽。我甚至检查了之前和之后的值,它会根据需要改变。然而,视觉表示保持不变。有没有可能强制真正的列调整大小到所需的宽度?我可以告诉我的表格重新布局,更新或重新绘制吗?

JavaFX是否在SWT中提供pack()等函数来强制组件调整其首选宽度/高度?

1 个答案:

答案 0 :(得分:0)

尝试将列宽绑定到表的宽度:

col1.prefWidthProperty().bind(col1.getTableView().widthProperty().multiply(1.5).divide(2));
col2.prefWidthProperty().bind(col2.getTableView().widthProperty().multiply(0.5).divide(2));