当前位置: 首页 > 知识库问答 >
问题:

如何在JavaFX中从TableView中获取TableHeaderRow?

聂鹏云
2023-03-14

我在许多地方看到了关于如何使用代码获取表头的示例

TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");

像这里:如何防止TableView从做TableColsta重新排序在javaFX 8?

但是这个代码为我返回null

如何到达TableHeaderRow然后?

共有2个答案

杨征
2023-03-14

查找(“TableHeaderRow”);工作,但需要在呈现表后调用它,否则它将返回null

袁成化
2023-03-14

TableHeaderRowSkin创建,默认的Skin在应用css之前不会创建。

您可以在将TableView添加到Scene后调用appyCss,并在此调用后访问TableHeaderRow

或者,监听外观中的更改,并在设置外观后执行该代码。

此外,我建议使用TableViewSkinBase.getTableHeaderRow来检索标头行,而不是使用lookup(无论如何,您都在使用com.sun包)。

tableView.skinProperty().addListener((a, b, newSkin) -> {
    TableHeaderRow headerRow = ((TableViewSkinBase) newSkin).getTableHeaderRow();
    ...
});

 类似资料:
  • 问题内容: 我在许多地方看到了有关如何通过代码获取表头的示例 但是这段代码为我返回。 怎么到达呢? 问题答案: 的创建者为,而默认值只有在应用CSS后才会创建。 您可以在将添加到后将其调用,然后在此调用之后访问。 或者,侦听中的更改并在设置外观后执行该代码。 此外,我建议使用而不是使用来检索标题行(无论如何,您都在使用包)。

  • 我目前正在使用 但这并没有返回选择模型中的一个选定项。

  • 我对JavaFX非常陌生,我需要帮助识别表视图中的选中/选中复选框。请参阅我用于在表视图中填充数据的UI和代码的屏幕截图。我正在使用场景生成器创建UI 初始化表视图的代码 UI的图像 这是数据模型。 导入javafx。豆。所有物SimpleboleanProperty;导入javafx。豆。所有物简单财产; 公共类测试套件{ } 我的目标是在单击另一个按钮时获得所有选中复选框的描述(旁边的一列)

  • 我想知道将JavaFX TableView数据获取到集合中的最佳和最有效的方法。我想获得JavaFX TableView中的所有行。

  • 我试图用列表中的字符串数组动态填充TableView(我想有更好的方法来处理信息,但这是我被赋予的任务…),所以我创建了一个TableView,创建了所有的列和东西,但在填充TableView的时候我迷路了。 列表中有所有的字符串数组,一切似乎都正常工作,任何数组上都没有MissPlated数据或类似的东西,当我运行项目时,列名按照我希望的方式出现,列表中的每个数组在tableview上都有一行,

  • 问题内容: 如何从JavaFX中的中获取所选项目? 我目前正在使用 但这并没有给我返回选择模型中的一个选择项。 问题答案: 好的,假设您有一个名为的数据模型类。这条路: 请注意,必须使用a 作为类型参数以避免转换: 要么 选择行后,您将返回一个实例。然后对该实例执行任何您想要的操作。