JavaFX TableView的标题高度

时间:2018-03-14 08:15:12

标签: java javafx tableview fxml

在我的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));

所以,问题是:如何绑定标题行的高度?谢谢!

1 个答案:

答案 0 :(得分:0)

您的方法几乎是正确的,您只需要在皮肤可用时设置标题高度,即可(如kleopatra所提示):

table.skinProperty().addListener((obs, ol, ne) -> {
    Pane header = (Pane) table.lookup("TableHeaderRow");   
    header.prefHeightProperty().bind(table.heightProperty().divide(6));
});