0

さて、実際に JavaFX でプログラムを完成させ、すべてがうまく機能していますが、印刷できるようにする必要があるレポートが 2 つあるのですが、わかりませんか? 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に移動して印刷できるように、既存のシステムにシームレスに統合する必要があります

ヘルプ!

わかりましたので、Java 8のベータリリースを使用するという提案された答えを試しましたが、今は何も機能しません. 次のエラーが表示されます。

スレッド「メイン」の例外 java.lang.UnsupportedClassVersionError: com/javafx/main/Main : java.lang.ClassLoader.defineClass1(Native Method) の java.lang.ClassLoader.defineClass(ClassLoader.java) でサポートされていない major.minor バージョン 52.0 :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(Native Method) で 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.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) で Java 結果: 1

4

1 に答える 1

1

Java 8を使用すると、JavaFX の印刷がサポートされます。

Java 8は、既存の Swing ベースのレポート コードを再利用したい場合に、JavaFX アプリへのSwingNodeの埋め込みもサポートしています。

ありがとう、でも Java8 の公式リリースは 1 年後ですね。

Java 8 のリリース日は現在 2014/03/18です。

サポートされていない major.minor バージョン 52.0

アプリを Java 8 でコンパイルしてから、Java 7 で実行しようとしたようです。

関連参照: java.lang.UnsupportedClassVersionError: Unsupported major.minor version の修正方法

この問題を回避する方法は他にありませんか?

私がお勧めするものはありません。

于 2013-07-26T02:31:40.607 に答える