在java中跨平台处理拖放和上下文菜单事件

在java中跨平台处理拖放和上下文菜单事件,java,cross-platform,Java,Cross Platform,我正在构建一个小型GUI应用程序,其中我在自定义组件上使用内部拖放。现在我想在启用拖放功能的组件上设置上下文菜单 现在我的问题是,我如何正确区分这两个事件。 对于上下文菜单,有一个API函数,但是对于DnD,我没有找到一个。 我使用鼠标下键触发DnD,但在Windows上下文菜单上,由于它们是在鼠标上键时触发的,因此停止工作。对于DnD,使用鼠标下键和鼠标移动的组合 对于上下文菜单,请使用鼠标单击事件(这样,当鼠标按钮松开而不是按下时,菜单才会出现)。有“如何使用菜单”和“拖放”部分 菜单部分显

我正在构建一个小型GUI应用程序,其中我在自定义组件上使用内部拖放。现在我想在启用拖放功能的组件上设置上下文菜单

现在我的问题是,我如何正确区分这两个事件。 对于上下文菜单,有一个API函数,但是对于DnD,我没有找到一个。
我使用鼠标下键触发DnD,但在Windows上下文菜单上,由于它们是在鼠标上键时触发的,因此停止工作。

对于DnD,使用鼠标下键和鼠标移动的组合

对于上下文菜单,请使用鼠标单击事件(这样,当鼠标按钮松开而不是按下时,菜单才会出现)。

有“如何使用菜单”和“拖放”部分

菜单部分显示如何通过选中MouseEvent的“isPopupTrigger”来显示弹出窗口。尽管自JDK5以来,由于添加了setComponentPopupMenu()方法,此过程更容易

关于DnD的章节说明了如何使用内置的DnD支持