2015-01-17 5 views
0

Я хотел бы смешать JavaFX и HTML5/JS внутри приложения на основе JavaFX. Компоненты HTML5/JS будут интегрированы с использованием JavaFX WebView, и будет один экземпляр WebView для компонента HTML5/JS.Пользовательский DataType в drag'n'drop между JavaFX и HTML5

Учитывая класс Person {String: firstname, String: lastname}, я изучаю возможность drag'n'drop между JavaFX и HTML5. Моя цель состоит в том, чтобы быть в состоянии отказаться от своих объектов модели в виде следующих типов MIME:

  1. «текст/обычный» - это стандарт MIME тип текста. Мои данные будут что-то вроде «г-н канистра Сейнфельд»
  2. «применение/х-pigelvy человек» - Это будет мой собственный тип MIME и это позволило бы мне определить, что операция Drag'n'Drop является фактически о объекте Person. Затем данные будут перетаскиваться лицом, преобразованным в JSON, например {"firstname": "jerry", "lastname": "seinfeld"}.

Вы можете проверить мои источники на https://github.com/pigelvy/dnd_jfx-js.

Запуск операции перетащить JavaFX ListView и сдача объекта Person в ClipboardContent как «текста/обычный» и «применения/х-pigelvy человек», я только был в состоянии получить данные для "text/plain "(хотя объект JS DragEvent.dataTransfer). У меня есть один и тот же результат, независимо от того, какой браузер я использую (WebView в приложении или Firefox/Chrome вне моего приложения)

Я просто читать HTML5 D'n'D specification и на основе раздела 7.8.4.1 и 7.8.4.2 Я понимаю, что D'n'D должен правильно даже когда он запускается/заканчивается с/в другом приложении/документе.

Я просто заметил, что некоторые странные вещи:

  1. Загрузка моей страницы HTML на 2 вкладке Firefox или 2 вкладки Opera, у меня есть доступ к моему пользовательскому типу MIME, наряду с «текстом/простого».
  2. Загрузка моей HTML-страницы в 2 JavaFX WebView в одном приложении JavaFX, у меня есть доступ к моему пользовательскому типу MIME, но только к «text/plain».

Почему мой пользовательский тип данных не доступен? Существуют ли какие-либо ограничения, о которых я не знаю?

ответ

0

Drag'n Drop не указан в спецификации HTML5. Это незавершенное производство для HTML5.1.

Дело в том, что сегодня по любой причине невозможно использовать D'n'D экзотические типы MIME между различными браузерами и WebViews JavaFX.