Javafx 当上下滚动TableView时,字段中的TableView数据会发生变化。

Javafx 当上下滚动TableView时,字段中的TableView数据会发生变化。,javafx,javafx-2,Javafx,Javafx 2,我的tableview中的一个字段遇到了一个问题,我需要动态显示另一个表中的值。下面是我用来更新tableview单元格的代码。该表使用不同于给定值的值进行更新 final int k = 0; value.setCellValueFactory(new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() { int

我的tableview中的一个字段遇到了一个问题,我需要动态显示另一个表中的值。下面是我用来更新tableview单元格的代码。该表使用不同于给定值的值进行更新

              final int k = 0;  
value.setCellValueFactory(new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
    int noOfDataCells = k;
    public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) 
    {                    

        TableColumn column = param.getTableColumn();
        int size = 0;
        if(tableView1.getItems()!=null)
            size = ((ObservableList) tableView1.getItems().get(0)).size();
        String valueFromData = "";
        if(noOfDataCells<size)
        {
            valueFromData = String.valueOf(((ObservableList) tableView1.getItems().get(0)).get(noOfDataCells));                                                               
        }
        else if(noOfDataCells == size)
        {
            noOfDataCells = 0;
            valueFromData = String.valueOf(((ObservableList) tableView1.getItems().get(0)).get(noOfDataCells));  
        }
        else if (noOfDataCells>size)
        {
            valueFromData = "";
        }
        noOfDataCells++;
        return new SimpleStringProperty(valueFromData);

    }
});             

您可能会遇到与此问题的作者相同的问题:请注意,单元格在滚动出可见区域并返回后会重新创建。因此,您的单元工厂应该能够随时从给定的数据创建相同的单元。这是不同的,因为这里没有updateItem方法,但在上下滚动tableview时数据仍在变化。有人有解决方案吗?