Я хотел бы смешать 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:
- «текст/обычный» - это стандарт MIME тип текста. Мои данные будут что-то вроде «г-н канистра Сейнфельд»
- «применение/х-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 должен правильно даже когда он запускается/заканчивается с/в другом приложении/документе.
Я просто заметил, что некоторые странные вещи:
- Загрузка моей страницы HTML на 2 вкладке Firefox или 2 вкладки Opera, у меня есть доступ к моему пользовательскому типу MIME, наряду с «текстом/простого».
- Загрузка моей HTML-страницы в 2 JavaFX WebView в одном приложении JavaFX, у меня есть доступ к моему пользовательскому типу MIME, но только к «text/plain».
Почему мой пользовательский тип данных не доступен? Существуют ли какие-либо ограничения, о которых я не знаю?