将文件拖动到Java应用程序时修改鼠标光标标签

将文件拖动到Java应用程序时修改鼠标光标标签,java,swing,drag-and-drop,label,Java,Swing,Drag And Drop,Label,我正在调试一个独立的Java应用程序,它支持从程序外部(比如操作系统的本机文件管理器)将文件拖放到应用程序上。这是所有测试和工作;我们有一个JList,它接受删除操作并适当地进行操作 一些平台,尤其是Windows 7+,在您开始拖动文件时,会在鼠标光标上放置一些有用的文本标签。例如,在Win7中拖动文件默认为“移动”,如果在释放鼠标按钮之前按住控制键,它将切换为“复制”,按住shift+控制键将切换为“链接”,等等 有人指出,这些标签在我们的例子中有点误导,因为我们的应用程序实际上并没有移动、

我正在调试一个独立的Java应用程序,它支持从程序外部(比如操作系统的本机文件管理器)将文件拖放到应用程序上。这是所有测试和工作;我们有一个JList,它接受删除操作并适当地进行操作

一些平台,尤其是Windows 7+,在您开始拖动文件时,会在鼠标光标上放置一些有用的文本标签。例如,在Win7中拖动文件默认为“移动”,如果在释放鼠标按钮之前按住控制键,它将切换为“复制”,按住shift+控制键将切换为“链接”,等等

有人指出,这些标签在我们的例子中有点误导,因为我们的应用程序实际上并没有移动、复制或对文件做任何类似的事情。显然,我们不能影响标签,因为用户仍在任意位置将文件拖动到监视器周围,但我们希望在拖动鼠标进入应用程序后替换标签。此时,我们的
TransferHandler.canImport()
例程正在启动

我读过的Swing文档中没有任何内容表明这是可能的,但是这些文档非常通用和高级。这些标签是否可以被拖动到的应用程序覆盖?(考虑到我们90%的用户群都在Windows上,我们愿意接受仅限Windows的解决方案;其他平台只能看到“移动”标签或其他任何东西。)

当鼠标到达应用程序时,我简要地查看了当前的java.awt.Cursor,即使光标上有一堆拖动的文件,底部挂着标签“Move”,它仍然是默认的光标