How to get TableHeaderRow from TableView currently in JavaFX?

I saw examples of how to get the table title in many places with code

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

like here: How to prevent TableView from reordering TableColumn in javaFX 8?

But this code returns nullfor me.

How to get to TableHeaderRowthen?

+4
source share
2 answers

TableHeaderRowis created Skin, but by default is Skinnot created until css is applied.

You can call applyCssafter adding TableViewto Sceneand access TableHeaderRowafter that call.

Skin , .

, TableViewSkinBase.getTableHeaderRow lookup ( com.sun).

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

( "TableHeaderRow" ); , null

+2

Source: https://habr.com/ru/post/1649897/


All Articles