在请求之前,TableView中的列不可见

时间:2014-10-24 23:26:54

标签: java javafx javafx-8 scenebuilder

我已经使用javaFX的场景构建器来创建TableView。让我们说有10列。其中一些列可能与大多数用户无关,所以我想在启动时隐藏它们。用户可以根据需要显示其他列。我可以在FXMLController中放入什么代码,以便在启动时隐藏这些列?如果它们在启动时被隐藏,它们仍然可以在tableMenuButton中看到吗?

(我正在使用JavaFX 8)

2 个答案:

答案 0 :(得分:1)

fxml中定义的所有列都将自动添加到menuButtons列表中,就像它们在代码中定义一样。要显示表格的menuButton,请设置其属性

<TableView fx:id="tableView" tableMenuButtonVisible = "true">

要控制列的可见性状态,请设置其可见属性(与其他属性相比没有什么特别之处:)

<TableColumn text="Artist" visible="false">

答案 1 :(得分:0)

我已经提出了下面的代码了。我还在寻找一种没有循环的方法。

for (Object col : playListTableView.getColumns()) {
                TableColumn colCasted = ((TableColumn)col);
        if(colCasted.getText().equals("Artist")){
             colCasted.setVisible(false);
        }

    }