4

このチュートリアルを使用して、 JavaFX HTMLEditorを Swing デスクトップ アプリケーション内に埋め込むことができました。ローカルの Eclipse ではすべてうまく機能します。

私の質問は、これを顧客に展開する方法ですか? Oracle にはWebStart とアプレットの展開に関するチュートリアルがありますが、デスクトップ アプリに関する情報はありません。

現在、インストールした JavaFX SDK からライブラリとバイナリをプロジェクトにコピーし、ディストリビューションをコンパイルするときにそれらを含めます。

/my/application/lib/javafx/lib/javafxrt.jar
/my/application/lib/javafx/bin/[dll:s from JavaFX Runtime]

しかし、これは非常に奇妙に思えます。もっと良い方法があるに違いありません。ここで助けが必要です。問題は、Eclipse での開発中にjavafxrt.jarクラスパスが必要になるため、使用できるような環境変数が表示されなかったため、jar ファイルをコピーしたことjavafx_homeです。しかし、JavaFX がロードされると、相対パスから dll をロードしようとします。そのため、dll もプロジェクトにコピーしました。

これは展開に問題があります。クライアントに 64 ビットの JVM がインストールされている場合、私は 32 ビットの JavaFX ランタイムを出荷しません (それは機能しないと思います)。現在、お客様は Windows のみを実行しているため、現時点では問題ありません。

実行時に JavaFX がインストールされているかどうかを確認し、インストールされている場合はそのパスを「動的に」取得する方法はありませんか? jar ファイルの配布は問題ありませんが、プラットフォーム依存のバイナリが心配です。

更新: WebStart はオプションではありません。これは、前身である古い Windows アプリにアプリケーションをバンドル/インストールするためです。すべての機能がまだ移植されていないため、2 つのアプリケーションはカスタムメイドの IPC プロトコルで通信します。

どんな助けでも大歓迎です!前もって感謝します。

4

3 に答える 3

1

こちら で説明されている新しい JavaFX Ant タスクを使用します。私にとってはうまくいきました。

編集: ネイティブ パッケージも参照してください: https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx

于 2012-08-04T11:30:16.997 に答える
0

JFXPanel (javafx.embed.swing.JFXPanel) を使用して、Java FX コンポーネントを Java Swing アプリケーションに埋め込むことができます。これは、Java Swing アプリケーションに JavaFX コンポーネントを埋め込むために使用されます。JFXPanel の詳細については、 https: //docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/JFXPanel.html を参照してください。

于 2016-01-06T09:51:39.700 に答える