JavaFX-如何为所有行调用setCellValueFactory,即使它们没有显示?

JavaFX-如何为所有行调用setCellValueFactory,即使它们没有显示?,javafx,rendering,tableview,Javafx,Rendering,Tableview,我的tableview包含的行数超过了它所能显示的行数,因此它会自动添加一个垂直滚动条,问题是我有一些代码想使用setCellValueFactory方法运行,但在呈现行之前不会调用此方法,是否有办法强制此代码运行,即使行未显示 TableColumn<Row, String> col = new TableColumn<>("Column"); col .setCellValueFactory(new Callback<Table

我的tableview包含的行数超过了它所能显示的行数,因此它会自动添加一个垂直滚动条,问题是我有一些代码想使用setCellValueFactory方法运行,但在呈现行之前不会调用此方法,是否有办法强制此代码运行,即使行未显示

TableColumn<Row, String> col = new TableColumn<>("Column");

    col
            .setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Row, String>, ObservableValue<String>>() {

                @Override
                public ObservableValue<String> call(
                        final CellDataFeatures<Row, String> p) {
                    System.out.println("Should run before rendering");
                    return new ReadOnlyObjectWrapper("Value");
                }
            });

否。为什么要强制运行它?因为我想获取某些行的值,但它们的值只有在调用SetCellValueFactory方法时才会更改。您可以从以下数据中获取值:即,对于Row Row Row:table.getItems{System.out.printlnrow.getXXX;},其中XXX是列中显示的属性的名称。单元格值工厂只是一个函数,您提供给表列,告诉它如何从给定的行对象获取值:它不存储数据。也许你需要编辑你的问题,以提供一个更大的视角来了解你正在尝试做什么,并提供一个简单的答案。