2

JavaFX は OCX コントロールを読み込んで埋め込むことができますか? WebKit ブラウザーは ActiveX をサポートしていないため、アプリケーションで Internet Explorer を使用したいと考えています。また、サード パーティの ActiveX コントロールに依存しなければならないので (それらが悪いことはわかっています)、IE に縛られています。

この質問は、「Java で OCX を使用できますか」とはまったく関係ありません。使用したい JavaFX 用の何らかのコンポーネントが必要なためです。

または、ここに投稿されたライブラリに依存する必要がありますか:

Java で .OCX コントロールを使用する

前もって感謝します、

スヴェン

4

1 に答える 1

1

質問で提供したリンクに投稿されたライブラリに依存する必要があります。または、独自の JNI インターフェイスを作成する必要があります。

OCX コンポーネントにアクセスする場合は、OCX コンポーネントが表示されるウィンドウ部分で JavaFX レンダラーが競合する書き込みの問題が発生する可能性があるため、JavaFX ステージによって作成されたウィンドウを共有するのではなく、それらを独自のウィンドウに配置する必要がある場合があります。 - 試してみて、確認するために何が起こるかを確認する必要があります。

これを行う簡単な方法は、アプリケーションのユーザーがデフォルトのブラウザーを IE に設定するように要求し、JavaFX hostservices.showDocument(uri) API を呼び出して、必要な OCX コンポーネントを埋め込んだ IE ページを起動することです。

別の方法は次のとおりです。

  1. JavaFX アプリケーションをアプレットとして Web ページに埋め込みます。
  2. また、Web ページに ActiveX コントロールを埋め込みます。
  3. Web ページが表示されたら、ブラウザーを確認し、IE でない場合は、Internet Explorer を使用している必要があることをユーザーに伝えます。
  4. ブラウザに表示されるさまざまなセキュリティ警告をユーザーに受け入れてもらいます。
  5. ユーザー (またはおそらく JavaScript) にブラウザー ウィンドウのサイズを全画面表示に変更してもらいます (「IE9 全画面モード」または「JavaScript を使用した全画面ブラウザー」を参照)。
  6. javafx/javascript ブリッジからの呼び出しを介して呼び出された JavaScript を使用して、アクティブな X コントロールと Java アプリの間で通信し、ページに埋め込まれた VBScript を介してアクティブな X コントロールを制御します。

おそらくうまくいくでしょうが、それはとても醜いフランケンシュタインの解決策です. . .

メディアを JavaFX がサポートする形式に変換し、JavaFX を介して直接再生できる場合は、それがはるかに望ましいでしょう。または、深い ActiveX 統合要件のために、JavaFX が最適なソリューションではないことが判明する場合もあります。問題があり、Silverlight のようなものを使用した方がよい場合があります。

于 2012-05-15T17:22:21.337 に答える