如今如何在JavaFX中从TableView获取TableHeaderRow?

我在许多地方看到了有关如何通过代码获取表头的示例

TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");

但是这段代码null为我返回。

怎么到达TableHeaderRow呢?

回答:

TableHeaderRow创建者为Skin,而默认值Skin只有在应用CSS后才会创建。

您可以applyCss在将添加TableView到后将其调用SceneTableHeaderRow然后在此调用之后访问。

或者,侦听中的更改Skin并在设置外观后执行该代码。

此外,我建议使用TableViewSkinBase.getTableHeaderRow而不是使用来检索标题行lookupcom.sun无论如何,您都在使用包)。

tableView.skinProperty().addListener((a, b, newSkin) -> {

TableHeaderRow headerRow = ((TableViewSkinBase) newSkin).getTableHeaderRow();

...

});

以上是 如今如何在JavaFX中从TableView获取TableHeaderRow? 的全部内容, 来源链接: utcz.com/qa/413864.html

回到顶部