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