好的,所以我实际上已经在JavaFX中完成了我的程序,一切都运行得很顺利,但我有两份报告需要能够打印,你不知道吗? JavaFX不支持打印!
我一直试图通过制作一个从JavaFX导入所有数据的JFrame来解决这个问题,但它不会显示JFrame并给我以下错误:
2013-07-25 16:58:05.334 java [2150:707] [JRSAppKitAWT markAppIsDaemon]:进程管理器已初始化:无法完全启用无头模式。
我认为这是因为同一个JRE实例无法同时运行FX并显示Swing JFrame?因为如果自己运行相同的代码将会工作(只是没有来自FX应用程序的数据显示在报告中)。
所以我的问题是,是否有一种解决方法不需要我将所有外汇代码重新写入Swing?正在使用的打印机是通用/纯文本点阵打印机,所以我试图将数据导入JFrame,因为这样可以很容易地打印整个文本框架。也许我的JFX报告生成器可以在新的JRE中打开JFrame?或者有没有办法让它在同一个JRE中工作?我做需要将它无缝集成到现有系统中,以便用户可以从JFX GUI生成报告并自动打印而不是生成报告,然后转到另一个(Swing)GUI打印它。
帮助!
好的,所以我尝试了使用Java 8测试版的建议答案,但现在没有任何作用。我收到以下错误:
线程“main”中的异常java.lang.UnsupportedClassVersionError:com / javafx / main / Main:不支持的major.minor版本52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at 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) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Java结果:1
答案 0 :(得分:1)
使用Java 8,它支持printing for JavaFX。
如果您想重用现有的基于Swing的报告代码,Java 8还支持在JavaFX应用程序中嵌入SwingNode。
谢谢,但Java8的官方发布就像一年之后,不是吗?
Java 8 release date is currently 2014/03/18
不受支持的major.minor版本52.0
看起来您使用Java 8编译了应用程序,然后尝试在Java 7上运行它。
见相关: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version
这个问题没有办法吗?
没有我会推荐的。