我正在创建一个使用graphviz生成png图像的应用程序,在创建之后我想在ImageView上加载图像,不知道这里最好的方法是什么,这是我最近的尝试:
private void generateGraph() throws IOException {
Graph g = graph("example15").directed().with(node("a").link(node("b"));
Graphviz.fromGraph(g).width(200).render(Format.PNG).toFile(new File("src/main/resources/graphs/ex15.png"));
}
public void handleImageLoad(ActionEvent event) {
try{
// Image here is a JavaFX image, thats why I can load an image from
// the resources folder directly
Image image = new Image("graphs/ex15.png");
loadGraphPNG(image);
} catch (IllegalArgumentException e){
//e.printStackTrace();
System.out.println("File not found!");
}
}
通过按下按钮调用方法handleImageLoad
,但是即使在创建文件后(我通过查看文件夹确认),程序也会打印出消息"找不到文件!&# 34;被抓住的clausule抛出。另一方面,如果我尝试加载已经在资源文件夹中的文件,它加载就好了。所以问题是,如果文件是在运行时创建的,我如何创建一个Image并将其加载到ImageView中?谢谢。