@David Charles: TableColumn style classes also apply to the column heading, so you can use to create a separate column heading
.table-view .column-header.foo .label { -fx-text-fill: white; -fx-font-weight: bold; }
and in java
tableColumn.getStyleClass().add("foo");
source share