如何在TableView中强制单个列宽?
假设我有一个按钮可以将所有列的宽度重置为预定义的值。我的TableView配置为UNCONSTRAINED_RESIZE_POLICY
。现在,如果我手动调整两个列,然后点击重置按钮,则没有任何反应。
我正在使用setPrefWidth()
来设置首选列宽。我甚至检查了之前和之后的值,它会根据需要改变。然而,视觉表示保持不变。有没有可能强制真正的列调整大小到所需的宽度?我可以告诉我的表格重新布局,更新或重新绘制吗?
JavaFX是否在SWT中提供pack()
等函数来强制组件调整其首选宽度/高度?
答案 0 :(得分:0)
尝试将列宽绑定到表的宽度:
col1.prefWidthProperty().bind(col1.getTableView().widthProperty().multiply(1.5).divide(2));
col2.prefWidthProperty().bind(col2.getTableView().widthProperty().multiply(0.5).divide(2));