Printing JavaFX中打印的解决方法

Printing JavaFX中打印的解决方法,printing,jframe,javafx,Printing,Jframe,Javafx,好的,我已经用JavaFX完成了我的程序,一切都很好,但是我有两份报告需要打印,你难道不知道吗?JavaFX不支持打印 我一直试图通过制作一个从JavaFX导入所有数据的JFrame来解决这个问题,但它始终不显示JFrame,并给出以下错误: 2013-07-25 16:58:05.334 java[2150:707][JRSAppKitAWT markAppIsDaemon]:进程管理器已初始化:无法完全启用无头模式 我假设发生这种情况是因为同一个JRE实例不能同时运行FX和显示Swing J

好的,我已经用JavaFX完成了我的程序,一切都很好,但是我有两份报告需要打印,你难道不知道吗?JavaFX不支持打印

我一直试图通过制作一个从JavaFX导入所有数据的JFrame来解决这个问题,但它始终不显示JFrame,并给出以下错误:

2013-07-25 16:58:05.334 java[2150:707][JRSAppKitAWT markAppIsDaemon]:进程管理器已初始化:无法完全启用无头模式

我假设发生这种情况是因为同一个JRE实例不能同时运行FX和显示Swing JFrame?因为如果单独运行相同的代码(只是没有来自FX应用程序的数据显示在报告中)也可以工作

所以我的问题是,是否有一种解决方法不需要我重新编写所有的FX代码来Swing?正在使用的打印机是通用/纯文本点阵打印机,因此我尝试将数据导入JFrame,因为这样可以轻松打印整个文本帧。也许我的JFX报表生成器可以在新的JRE中打开JFrame?或者有没有办法让它在同一个JRE中工作?我确实需要它无缝地集成到现有系统中,这样用户就可以从JFX GUI生成报告,并让它自动打印,而不是生成报告,然后转到另一个(Swing)GUI进行打印

救命啊

好的,所以我尝试了使用Java8的beta版的建议答案,但现在什么都不起作用。我得到以下错误:

线程“main”java.lang.UnsupportedClassVersionError:com/javafx/main/main:Unsupported major.minor版本52.0中出现异常 位于java.lang.ClassLoader.defineClass1(本机方法) 位于java.lang.ClassLoader.defineClass(ClassLoader.java:791) 位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 在java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在java.net.URLClassLoader$1.run(URLClassLoader.java:355) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:354) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:423) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在sun.launcher.LaunchHelper.checkAndLoadMain(LaunchHelper.java:482)中 Java结果:1使用,它支持

如果您希望重用现有的基于Swing的报告代码,Java8还支持在JavaFX应用程序中嵌入


谢谢,但是Java8的正式发布还有一年的时间,不是吗

不受支持的主要版本52.0

看起来您使用Java 8编译了应用程序,然后尝试在Java 7上运行它

见相关文件:

没有别的办法解决这个问题吗


没有我推荐的。

谢谢,但是Java8的正式发布还有一年的时间,不是吗?没有别的办法解决这个问题吗?