http://stackoverflow.com/questions/12324464/how-to-javafx-hide-background-header-of-a-tableview
————————————————————————————————————————————————————————
I'm trying to develop auto complete text, which shows a dropdown of suggestions in tableview popup, and I'm having an issue of how can I hide the whole header-column of tableview in javafx 2.1
2 Answers
The solution is very simple; after the tableview renders, we can get the table header and make invisible, therefor the table header doesn't have to re-layout when the table view layout changes. To catch table rendering is done, we can use width property change, and hide the table header Here is the code: |
tableView.widthProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> ov, Number t, Number t1) { // Get the table header Pane header = (Pane)tableView.lookup("TableHeaderRow"); if(header!=null && header.isVisible()) { header.setMaxHeight(0); header.setMinHeight(0); header.setPrefHeight(0); header.setVisible(false); header.setManaged(false); } } });
**********************************************
Apply a custom stylesheet to the table:
table.getStylesheets().addAll(getClass().getResource("hidden-tableview-headers.css").toExternalForm());
Where the file hidden-tableview-headers.css
is placed in the same location as the class loading the css resource and contains the line:
.column-header-background { visibility: hidden; -fx-padding: -1em; }
The visibility: hidden
attribute tells JavaFX not to draw the node, but still leave space where the heading was. As the header is 1 row of text height high, you can tell the invisible header not to take up any space by setting -fx-padding: -1em;
.
|
Thanks jewelsea, but this will keep an empty space instead of the column header, and I want to remove it. – Anas Aswad Sep 11 '12 at 11:08
|
||
|
Added a -fx-padding setting to the suggested css so that the invible column header does not take up any space on the screen (as recommended by an anonymous stackoverflow user). – jewelsea Jun 5 at 21:53
|
傲轩游戏网