Java 将一个JLabel拖到另一个JLabel上
我正在尝试写一个游戏,想在游戏中拖动卡片。 我想在将标签拖动到另一个标签时删除该标签 所有标签都是在游戏过程中动态创建的。 有人能告诉我从哪里读到如何检测第一个标签的鼠标释放事件是否在不同的标签上吗Java 将一个JLabel拖到另一个JLabel上,java,swing,drag,jlabel,mouselistener,Java,Swing,Drag,Jlabel,Mouselistener,我正在尝试写一个游戏,想在游戏中拖动卡片。 我想在将标签拖动到另一个标签时删除该标签 所有标签都是在游戏过程中动态创建的。 有人能告诉我从哪里读到如何检测第一个标签的鼠标释放事件是否在不同的标签上吗 在mouseRelease事件中,您需要在刚刚拖动的标签上使用getBounds() 从Container类中,可以使用getComponents()获取面板上所有组件的数组 然后循环遍历数组中的所有组件,以获得每个组件的边界 您可以使用矩形。相交(…)确定两个标签是否相交。如果是,则删除第二个标签
getBounds()
getComponents()
获取面板上所有组件的数组矩形。相交(…)
确定两个标签是否相交。如果是,则删除第二个标签获取要拖动的标签的位置,然后检查两个矩形是否相交。让我们看看你试过什么