好的,我已经用JavaFX完成了我的程序,一切都很好,但是我有两份报告我需要能够打印,你不知道吗?JavaFX不支持打印!
我一直试图通过创建一个从JFrame导入所有数据的JavaFX来解决这个问题,但是它一直没有显示JFrame,并给出了以下错误:
2013-07-25 16:58:05.334 java2150:707:进程管理器已初始化:无法完全启用无头模式。
我认为这是因为同一个JRE实例不能同时运行FX并显示Swing JFrame?因为如果单独运行相同的代码(只是没有FX应用程序的数据显示在报告中)。
因此,我的问题是,有没有一个解决办法,不需要我重写我所有的外汇代码摇摆?正在使用的打印机是一个通用/纯文本的点阵打印机,因此我试图将数据导入JFrame,因为这样就可以很容易地打印整个文本帧。也许我的JFX报告生成器可以在一个新的JRE中打开JFrame?还是有办法让它在同一个JRE中工作呢?我确实需要将它无缝地集成到现有系统中,这样用户就可以从JFX GUI生成报表,并让它自动打印,而不是生成报表,然后转到另一个(Swing) GUI打印它。
帮助!
好的,所以我尝试了使用Java 8的beta版本的建议答案,但是现在没有效果了。我得到以下错误:
线程"main“中的异常: com/javafx/main/Main :在java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run不支持的major.minor版本52.0 at java.lang.ClassLoader.defineClass1(原生方法)( java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native ) java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423),sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Java结果:1
发布于 2013-07-26 02:31:40
使用Java 8,它支持JavaFX打印。
如果您想重用现有的基于Swing的报告代码,Java8还支持将SwingNode嵌入到JavaFX应用程序中。
谢谢,但是Java8的正式发布还需要一年的时间,不是吗?
Java 8的发布日期为2014/03/18。
不支持的major.minor版本52.0
看起来您用Java 8编译了这个应用程序,然后尝试在Java 7上运行它。
见related:如何修复java.lang.UnsupportedClassVersionError:不支持的major.minor版本
没有别的办法可以解决这个问题吗?
没有我推荐的。
https://stackoverflow.com/questions/17871034
复制相似问题