【发布时间】:2014-02-06 08:31:42
【问题描述】:
我正在尝试将图像保存到我的文件系统,如 javafx 图像操作页面上所述:http://docs.oracle.com/javafx/2/image_ops/jfxpub-image_ops.htm 但我不断收到此异常错误:
java[80783:707] [JRSAppKitAWT markAppIsDaemon]: Process manager already initialized: can't fully enable headless mode.
这个 stackoverflow 问题有点帮助 JavaFX screencapture headless exception on OSX 但我仍然坚持保存图像。
有什么办法可以保存图片?
这就是我目前的做法:
File outFileImage = new File(imageUrl);
Toolkit tk = java.awt.Toolkit.getDefaultToolkit().getDefaultToolkit();
try {
ImageIO.write(SwingFXUtils.fromFXImage(image, null), ".png", outFileImage);
} catch (Exception e) {
log.log(Level.WARNING, "Image not saved to disk", e);
}
编辑
我尝试运行 Java 8 以查看问题是否会得到解决,但我不断收到 JavaFX FXML 错误:
javafx.fxml.LoadException: Root hasn't been set. Use method setRoot() before load.
/Users/jonathan/Projects/Dominion/target/classes/dominion/application/controller/main_overview_tab.fxml:13
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2613)
at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:104)
at javafx.fxml.FXMLLoader$RootElement.constructValue(FXMLLoader.java:1320)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
at dominion.application.controller.MainOverviewTab.initView(MainOverviewTab.java:64)
编辑
我已将此 JavaFX FXML 加载问题发布到此处找到的另一个问题中:Root hasn't been set Error with Java 8 Eclipse
【问题讨论】:
-
您的图像是否正确写入,尽管有错误消息,还是您只是关心该消息?
-
不,图像没有保存到磁盘
标签: java image save javafx javafx-2