【问题标题】:JavaFX TableView's header heightJavaFX TableView 的表头高度
【发布时间】:2018-08-22 16:20:26
【问题描述】:

在我的 JavaFX 应用程序中,我想创建表。我正在使用表视图。我希望它正好适合 5 件物品。 所以我做的是这样的:

table.fixedCellSizeProperty().bind(table.heightProperty().divide(6));

问题是我的表格的标题行没有改变它的高度。它适合里面的标签。 我尝试了这种方法,但是如果我在控制器的初始化方法中调用它,我会从查找中得到空值:

Pane header = (Pane) table.lookup("TableHeaderRow");   
header.prefHeightProperty().bind(table.heightProperty().divide(6));

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

【问题讨论】:

  • header 仅在 tableView 获取其皮肤后才可用,即添加到场景中 - 因此您可以监听皮肤属性并在监听器中进行绑定
  • 你的意思是如何改变列的高度?
  • 截图也会有所帮助

标签: java javafx tableview fxml


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 2015-04-14
    • 1970-01-01
    • 2017-11-01
    • 2012-10-26
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2019-02-03
    相关资源
    最近更新 更多