1

JavaFX ベースのアプリケーション内で JavaFX と HTML5/JS を混在させたいと考えています。HTML5/JS コンポーネントは JavaFX WebView を使用して統合され、HTML5/JS コンポーネントごとに WebView のインスタンスが 1 つ存在します。

クラスPerson{String:firstname, String:lastname}を考慮して、JavaFX と HTML5 間のドラッグ アンド ドロップの実現可能性を調査しています。私の目標は、モデル オブジェクトを次の MIME タイプとしてドロップできるようにすることです。

  1. " text/plain " - これは、テキストの標準 MIME タイプです。私のデータは「 Mr jerry seinfeld」のようなものになります
  2. " application/x-pigelvy-person " - これは私自身の MIME タイプであり、ドラッグアンドドロップ操作が実際には Person オブジェクトに関するものであることを検出できます。データは、ドラッグされた Person によって{"firstname":"jerry","lastname":"seinfeld"}などの JSON に変換されます。

私のソースはhttps://github.com/pigelvy/dnd_jfx-jsで確認できます。

JavaFX ListView のドラッグ操作を開始し、ClipboardContent に Person オブジェクトを「text/plain」および「application/x-pigelvy-person 」として配置すると、「 text/plain 」のデータしか取得できませんでした (ただし、JS オブジェクトはDragEvent.dataTransfer)。どのブラウザーを使用しても同じ結果が得られます (アプリ内の WebView またはアプリ外の Firefox/Chrome)

HTML5 D'n'D 仕様を読んだところですが、セクション7.8.4.1および7.8.4.2に基づいて、D'n'D が別のアプリケーション/ドキュメントから/で開始/終了する場合でも、D'n'D が正しく行われるべきであることを理解しています。

私はいくつかの奇妙なことに気づきました:

  1. HTML ページを 2 つの Firefox タブまたは 2 つの Opera タブにロードすると、" text/plain "とともにカスタム MIME タイプにアクセスできます。
  2. 同じ JavaFX アプリケーション内の 2 つの JavaFX WebView に HTML ページをロードすると、カスタム MIME タイプにアクセスできますが、「text/plain」にしかアクセスできません。

カスタム データ型が利用できないのはなぜですか? 私が知らない制限はありますか?

4

1 に答える 1

0

Drag'n Drop は HTML5 仕様にはありません。HTML5.1 に向けて進行中の作業です。

実際のところ、現在、何らかの理由で、異なるブラウザーと JavaFX WebView の間でエキゾチックな MIME タイプを D'n'D することはできません。

于 2015-04-15T09:14:06.420 に答える