JavaFX分页 - 更新当前页面的内容

时间:2014-07-10 13:13:41

标签: pagination task javafx-8

在我的JavaFX应用程序中,我使用Pagination来显示一些图片。阅读图片需要花费很多时间,所以我用ObservableList<Image>填充占位符图像,这些图像在加载时应由原件替换。
一切正常,但唯一的一点是当图片加载时当前页面没有更新。我必须更改CurrentPageIndex并更改回来。显示右图 为了加载图像,我创建了一个Task,以便我能够在此过程中使用该应用程序。

所以我的问题是,如何更新当前页面的内容?

PageFactory看起来像这样:

    ImageView imageView = new ImageView();
    Image img = images.get(index);
    imageView.setImage(img);
    imageView.setFitWidth(240);
    imageView.setStyle("-fx-background-color: white");
    imageView.setPreserveRatio(true);
    imageView.setSmooth(true);
    imageView.setCache(true);
    imageView.setEffect(createShadow(Color.BLACK, false));
    VBox pageBox = new VBox();
    pageBox.setAlignment(Pos.CENTER);
    pageBox.getChildren().add(imageView);
    return pageBox;


这里我替换图像(前两行是框架的方法):

    for (int i = 0; i < pageCount; i++) {
        PagePainter pp = parser.getPagePainter(i);
        BufferedImage buffImg = pp.getImage(200);
        fxImages.set(i, SwingFXUtils.toFXImage(buffImg, null));
    }

0 个答案:

没有答案