如何绕过JavaFX的TableView"占位符"?

Xan*_*tos 9 java javafx tableview javafx-2 javafx-8

JavaFX TableView有一个占位符属性,它基本上是在它为空时Node显示的TableView.如果此属性设置为null(其默认值),则它显示为一个Label或其他一些基于Node"表中没有内容"的文本.

但是如果表中有任何数据行,则占位符将Node消失,并且整个垂直空间TableView将填充行,如果没有足够的数据填充整个表,则包括空行.

这些空行是我想要的,即使表是空的.换句话说,我根本不想使用占位符.有谁知道我怎么做到这一点?

我宁愿不做什么事情,就像TableView在它应该实际上是空的时候放一个空洞的行.

Shr*_*ave 1

这是执行任务的一种棘手方法,

    HBox box = new HBox();
    box.setDisable(true);
    for (TableColumn column : patientsTable.getColumns()) {
        ListView<String> listView = new ListView<>();
        listView.getItems().add("");
        listView.setPrefWidth(column.getWidth());
        box.getChildren().add(listView);
    }

    tableView.setPlaceholder(box);
Run Code Online (Sandbox Code Playgroud)