2016-08-02 55 views

回答

5

TableHeaderRowSkin創建,默認Skin不會創建,直到應用css爲止。

TableView添加到Scene並在此次調用後訪問TableHeaderRow之後,您可以調用applyCss

或者聽取Skin中的更改並在皮膚設置完成後執行該代碼。

此外,我建議使用TableViewSkinBase.getTableHeaderRow檢索標題行而不是使用lookup(無論如何,您使用的是com.sun包)。

tableView.skinProperty().addListener((a, b, newSkin) -> { 
    TableHeaderRow headerRow = ((TableViewSkinBase) newSkin).getTableHeaderRow(); 
    ... 
}); 
2

lookup(「TableHeaderRow」);工作,但它需要在表格呈現之後調用,否則將返回null