0

我正在开发一个带有树表视图的 JavaFX 应用程序,其中的列是根据提供的数据生成的。但是,在某些情况下,当更新从后端进来时,会创建一个“幽灵行”。这是与现有行具有相同值但无法选择的附加行。如果窗口打开的时间足够长,这些幽灵行会填满其余的可见表格行(但不会创建滚动条)。

我在 Cell Value Factory 回调中添加了一些调试逻辑,但数据源仍然表明它只有 5 个条目,尽管屏幕上可见 6 个或更多。出于某种原因,它似乎只是在渲染同一行的另一个副本。

有没有人对可能导致这种情况的原因有任何想法?

谢谢。

编辑:

这是 TreeTableCell 实现中的 UpdateItem 方法:

        super.updateItem(item, empty);

        FlowPane flow = new FlowPane();
        if (item != null && !empty && getTreeTableRow() != null)
        {
            Node cellGraphic = item.getGraphic();
            if (cellGraphic != null
                && cellGraphic.getClass().equals(Button.class))
            {
                item.setAlignment(Pos.CENTER);
            }

            flow.getChildren().add(item);
            item.prefWidthProperty().bind(flow.prefWrapLengthProperty());
            flow.prefWrapLengthProperty().bind(
                getTableColumn().widthProperty());
            setGraphic(flow);
            return;
        }
4

0 回答 0