2010-03-11 19 views
9

Necesito crear un sistema de arrastrar y soltar en columpio donde una imagen de lo que se está arrastrando se une al cursor durante el arrastre. En teoría, esto es achieveable conArrastrar y soltar con una imagen

public Icon TransferHandler.getVisualRepresentation(Transferable t) 

pero no parece ser un error de larga data (here) que significa este método no se llama. Sé que puedo hacerlo implementando mi propio sistema DnD con DragSource, etc., pero ¿alguien sabe de un workround más fácil que me dará lo que necesito?

Respuesta

2

Al final usé el viejo estilo de arrastrar y soltar para implementar lo que quería. Sin embargo, no tengo ninguna razón para pensar que la solución de abrightwell no funcionaría igual de bien: esta era la mejor manera en ese momento.

3

El método TransferHandler.getVisualRepresentation no era compatible con Java 1.4, no estoy seguro de si o cuando se solucionó. Para probar si funciona en una versión actual, puede adaptar esto example

+1

No se arregló en la versión que tengo, Mac versión 1.6.0. – DJClayworth

1

He utilizado el "trabajo alternativo" sugerido hacia la parte inferior del informe de errores que ha enumerado. Funcionó lo suficientemente bien para mí. De acuerdo, estaba usando esto con Mac OS X, así que no tengo idea de si Winderz lo admitirá. Sería bueno si al menos lo arreglaran para que funcione como lo planearon y simplemente documenten dónde y cómo no funcionará ... bueno. Buena suerte.

2

Puede tratar de poner la imagen en un Jlabel (en el reconocedor de arrastre) y establecer sus límites, en el método droptargetListener dragover. Alternativamente, cómo implementar un oyente Mouse (no he probado este último método).