Перетаскивание Java/.NET
-
23-08-2019 - |
Вопрос
Мне нужно реализовать механизм перетаскивания между приложением C++ .NET и графическим интерфейсом Java в обоих направлениях.Возможно ли это с помощью какого-то стандартного API или мне нужна специальная библиотека?
Нет правильного решения
Другие советы
Вы не можете перетаскивать произвольные объекты из одного в другой.Вы должны использовать формат, понятный обоим.В Java они называются DataFlavors, в Windows DataFormats (которые просто идентифицируются по имени в мире win form .Net).
Вот руководство для конец Java.Вот документы MSDN, относящиеся к Форматы данных
Можно перейти на очень низкий уровень и реализовать сложный код с обеих сторон для управления довольно сложной связью между различными приложениями/платформами, но если вы просто хотите иметь возможность перетаскивать изображение из одного приложения в другое, вам будет проще начать. с растровыми изображениями, поскольку они довольно универсальны.
Если вы действительно хотите идентификатор вещи, представленной значком, который будет связан/отсоединен, и вы хотите, чтобы это работало только между двумя рассматриваемыми приложениями, а затем просто передавайте идентификатор в виде текста, как обычно, и оба приложения интерпретируют перетаскивание как событие, которое требует перехода и получение того же значка и его отображение/удаление вместе с соответствующим обновлением.
Однако вам нужно будет знать, было ли событие перетаскивания успешным (чтобы также удалить значок из перетаскиваемого приложения), это не так уж сложно.