JavaFX thread synchronization with Java thread

孤街醉人 提交于 2019-12-01 23:24:21
Alexei Kaigorodov
new Thread() {
    @Override
    public void run() {
        for (final File file : files) {
            if (Utils.fileIsImage(file) && !file.isDirectory()) {
                ImageView view = new ImageView(new Image("file:" + file, 72, 72, false, true));
                views.add(view);
            }
        }

        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                imageList.getChildren().addAll(views);
            }
        });
    }
}.start();

Consider adding views one by one as long as they are loaded:

if (Utils.fileIsImage(file) && !file.isDirectory()) {
    ImageView view = new ImageView(new Image("file:" + file, 72, 72, false, true));
    views.add(view);

    Platform.runLater(new Runnable() {
        @Override
        public void run() {
            imageList.getChildren().add(view);
        }
    });
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!