在java内部的java窗口和其他delphi面板之间拖动对象

在java内部的java窗口和其他delphi面板之间拖动对象,java,delphi,events,awt,Java,Delphi,Events,Awt,我在Delphi面板中有一个javaawt窗口(我知道这很糟糕,但它是一个大型项目的一部分,我无法更改) 我想将一个对象从JavaAWT窗口拖到另一个Delphi面板(AWT窗口所在的面板除外) 不幸的是,当将对象拖到Java窗口之外时,焦点仍然停留在它上面(我想只要鼠标拖动事件发生,焦点就会持续) 当鼠标被点击时,是否有方法将Java窗口的鼠标拖动事件转换为另一个Delphi面板的鼠标拖动事件 这是一张显示窗口外观的图像 将对象从Java窗口拖到Delphi窗口的唯一方法是:1)Java代码实

我在Delphi面板中有一个javaawt窗口(我知道这很糟糕,但它是一个大型项目的一部分,我无法更改)

我想将一个对象从JavaAWT窗口拖到另一个Delphi面板(AWT窗口所在的面板除外)

不幸的是,当将对象拖到Java窗口之外时,焦点仍然停留在它上面(我想只要鼠标拖动事件发生,焦点就会持续)

当鼠标被点击时,是否有方法将Java窗口的鼠标拖动事件转换为另一个Delphi面板的鼠标拖动事件

这是一张显示窗口外观的图像


将对象从Java窗口拖到Delphi窗口的唯一方法是:1)Java代码实现Win32
IDataObject
IDragSource
接口,并使用Win32
DoDragDrop()
函数处理拖放操作,2)如果您的Delphi代码实现Win32
IDropTarget
接口,并调用Win32
RegisterDragDrop()
函数来注册您对从应用程序外部接收拖动对象的兴趣。首先,这允许您传输数据(在程序周围、进出程序),另请参见MSDN。导出问题的关键,正在生成一个
DataFlavor
和一个Delphi能够理解的数据格式