how to javafx hide background header of a tableview?

前端 未结 3 1674
遥遥无期
遥遥无期 2020-12-16 06:32

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 ta

3条回答
  •  忘掉有多难
    2020-12-16 07:13

    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() {
            @Override
            public void changed(ObservableValue 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);
                }
            }
        });
    

提交回复
热议问题