Здравствуйте. К сожалению возникла потребность реализовать Drag And Drop в desktop приложении, на Swing. Необходимо перетаскивая файл из FileExplorer(Проводник), на элемент GUI Swing, в принципе не важно на какой, извлекать путь к файлу и записывать в переменную. Прошу подсказать как!? примером если не сложно:) Заранее спасибо.
В Java приемнике надо реализовать метод drop(), где надо распознавать тип сброшенного объекта как DataFlavor.javaFileListFlavor:
public synchronized void drop (DropTargetDropEvent dropTargetDropEvent) {
try
{
Transferable tr = dropTargetDropEvent.getTransferable();
if (tr.isDataFlavorSupported (DataFlavor.javaFileListFlavor))
{
dropTargetDropEvent.acceptDrop (
DnDConstants.ACTION_COPY_OR_MOVE);
java.util.List fileList = (java.util.List)
tr.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator();
//дальше работаем со списком файлов
}
}
}
Куда впихивать drop() можно понять через туториал
Сборка персонального компьютера от Artline: умный выбор для современных пользователей