在我的JavaFX应用程序中,我想创建表。我正在使用TableView。我希望它恰好适合5个项目。 所以我做的是:
table.fixedCellSizeProperty().bind(table.heightProperty().divide(6));
问题是我桌子的标题行没有改变它的高度。它适合它内部的标签。 我尝试了这种方法,但如果我在控制器的initialize方法中调用它,我会从查找中获取null值:
Pane header = (Pane) table.lookup("TableHeaderRow");
header.prefHeightProperty().bind(table.heightProperty().divide(6));
所以,问题是:如何绑定标题行的高度?谢谢!
答案 0 :(得分:0)
您的方法几乎是正确的,您只需要在皮肤可用时设置标题高度,即可(如kleopatra所提示):
table.skinProperty().addListener((obs, ol, ne) -> {
Pane header = (Pane) table.lookup("TableHeaderRow");
header.prefHeightProperty().bind(table.heightProperty().divide(6));
});