【问题标题】:Making a column in a TableView not visible until requested在请求之前使 TableView 中的列不可见
【发布时间】:2014-10-24 23:26:53
【问题描述】:

我使用 javaFX 的 scenebuilder 创建了一个 TableView。假设有 10 列。其中一些列可能与大多数用户无关,所以我想在启动时隐藏它们。用户可以根据需要显示其他列。我可以在 FXMLController 中放入什么代码来在启动时隐藏这些列?如果它们在启动时被隐藏,它们在 tableMenuButton 中是否仍然可见?

(我使用的是 JavaFX 8)

【问题讨论】:

    标签: java javafx javafx-8 scenebuilder


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 再次感谢您的帮助 Kleopatra!
    【解决方案2】:

    我想出了下面的代码,它。我仍在寻找一种没有循环的方法。

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

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      • 2023-01-26
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多