好的,所以我已經用JavaFX完成了我的程序,並且一切都很好,但是我有兩個需要打印的報告,您不知道嗎? JavaFX不支持打印!在JavaFX中打印的解決方法
我一直在試圖通過使從JavaFX的導入所有數據的JFrame的方式來解決這個問題,但它一直不顯示的JFrame,並給了我以下錯誤:
2013年7月25日16:58:05.334 java [2150:707] [JRSAppKitAWT markAppIsDaemon]:進程管理器已經初始化:無法完全啓用無頭模式。
我認爲會發生這種情況,因爲JRE的相同實例無法運行FX並同時顯示Swing JFrame?因爲如果自己運行相同的代碼(只是沒有來自FX應用程序的數據顯示在報告中),它們將起作用。
所以我的問題是,是否有一種解決方法,不需要我將所有FX代碼重寫到Swing?正在使用的打印機是一個通用/純文本點陣打印機,所以我試圖將數據導入到JFrame中,因爲這樣打印整個文本框就很容易了。也許我的JFX報告生成器可以在新的JRE中打開JFrame?還是有辦法讓它在同一個JRE中工作? I do需要將其無縫集成到現有系統中,以便用戶可以從JFX GUI生成報告並自動打印而不是生成報告,然後轉到另一個(Swing)GUI進行打印。
幫助!
好的,所以我嘗試了使用Java 8 beta版的建議答案,但現在沒有任何工作。我收到以下錯誤:在線程 「主要」 因爲java.lang.UnsupportedClassVersionError
例外:COM/JavaFX的/主/主:在java.lang.ClassLoader.defineClass1(本機方法)不支持MAJOR.MINOR版本52.0 在需要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) at java.net.URLClassLoader $ 1.run(URLClassLoader.java:361) at java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessControll er.doPrivileged(本地方法) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) 在java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Java結果:1
謝謝,但Java8的官方發佈就像是一年之遙,不是嗎?這個問題沒有其他辦法嗎? – John
我編輯了我的答案以解決您的其他問題。 – jewelsea