我正在尝试从 javascript 对象调用一个方法,该对象又调用以下 java 方法:
public void loadPicture(final String absolutePath) {
System.out.println("loadPicture " + absolutePath);
Image dbimage;
dbimage = new Image(absolutePath, 100.0d, 100.0d, false, false);
final ImageView dbImageView = new ImageView();
dbImageView.setImage(dbimage);
Platform.runLater(new Runnable() {
@Override
public void run() {
try {
System.out.println("hbox children : "+hbox.getChildren().size());
hbox.getChildren().add(dbImageView);
System.out.println("hbox children : "+hbox.getChildren().size());
//test
//logger.debug(" aggiunto "+absolutePath);
DropPictures.getPicturesNames().add(absolutePath);
} catch (Exception e) {
System.out.println("eccezione :" + e.getLocalizedMessage());
}
}
});
}
在 javascript 中,方法调用是:
var a = document.getElementById(myDivId);
a.loadPicture();
我已经跟踪了执行,上面的方法没有抛出任何异常,但是它正在运行,因为我在 java 控制台中看到了输出,但小程序没有显示图片。我已经使用 Platform.runLater 在 javafx 线程中更新了 GUI,仍然没有执行更新。