Перетащите с изображением - PullRequest
9 голосов
/ 11 марта 2010

Мне нужно создать систему перетаскивания в разгаре, где изображение перетаскиваемой вещи прикрепляется к курсору во время перетаскивания. Теоретически это достижимо с

public Icon TransferHandler.getVisualRepresentation(Transferable t)

но, похоже, существует давняя ошибка ( здесь ), которая означает, что этот метод никогда не вызывается. Я знаю, что могу сделать это, внедрив свою собственную систему DnD с DragSource и т. Д., Но кто-нибудь знает о более простом обходном пути, который даст мне то, что мне нужно?

Ответы [ 4 ]

3 голосов
/ 11 марта 2010

Метод TransferHandler.getVisualRepresentation не был поддержан в Java 1.4, я не уверен, было ли когда-либо исправлено. Чтобы проверить, работает ли он в текущей версии, вы можете адаптировать этот пример

2 голосов
/ 25 декабря 2011

Вы можете попробовать поместить изображение на Jlabel (в распознавателе распределений) и установить его границы, используя метод dragover droptargetListener. Кроме того, как насчет реализации слушателя мыши (я не проверял этот последний метод).

2 голосов
/ 15 марта 2010

В конце я использовал перетаскивание старого стиля, чтобы реализовать то, что я хотел. Однако у меня нет оснований думать, что решение abrightwell не сработает так же хорошо - это был лучший способ в то время.

1 голос
/ 13 марта 2010

Я использовал «обходной путь», предложенный в нижней части отчета об ошибках, который вы перечислили. Это работало достаточно хорошо для меня. Конечно, я использовал это с Mac OS X, поэтому я не знаю, будет ли Winderz его поддерживать. Было бы хорошо, если бы они, по крайней мере, исправили бы его так, как планировали, и просто задокументировали, где это будет и не будет работать ... ну, хорошо Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...