Как обрабатывать файл, перетаскиваемый на банку?

Кто-нибудь знает, как сделать так, чтобы, когда я буду перетаскивать файл на флягу, это даст

+Open with ...

вариант? Можно ли это сделать с помощью Java?

2 ответа

Решение

Он не поддерживает непосредственное перетаскивание документа на значок Jar (или, в данном случае, ярлык), но Java Web Start предоставляет средство для объявления интереса к типу файла (ассоциации файлов).

Чтобы он был открыт в приложении. дважды щелкните этот тип документа или щелкните правой кнопкой мыши и перейдите к пункту "Открыть с помощью".

Обратите внимание, что много приложений. добавьте сопоставление типов файлов для большинства изображений, так что вы будете бороться с ними в отношении поведения по умолчанию "двойной щелчок". Мне не нравятся ваши шансы на поддержание этого значения по умолчанию, учитывая множество приложений рисования. проверит настройки по умолчанию для файловых ассоциаций и предложит "вернуть" все, что не назначено для него.

Посмотрите демонстрацию Файловых сервисов JNLP. который..

.. предлагает пользователю связать расширение файла .zzz (просто тип файла вряд ли конфликтует с существующими ассоциациями файлов) типа контента text/sleepytime, Файл сборки позволяет установить тип файла во время сборки, см. build.xml в распространяемом для деталей.

ОК, вы не можете реализовать перетаскивание для файла JAR. Тем не менее, вы можете реализовать перетаскивание файлов для всех JComponents (лайк JFrame, JLabelи т. д.) путем изменения обработчиков передачи.

Обработчики передачи позволяют:
1. Укажите, как компонент экспортирует данные (если есть)
2. Укажите, какие данные он импортирует (в вашем случае файл изображения)
3. Какие данные импортируются / экспортируются.

Вот учебник для TransferHandler, Вот подробное руководство: http://docs.oracle.com/javase/tutorial/uiswing/dnd/transferhandler.html

Другие вопросы по тегам