Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将一个JLabel拖到另一个JLabel上_Java_Swing_Drag_Jlabel_Mouselistener - Fatal编程技术网

Java 将一个JLabel拖到另一个JLabel上

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

我正在尝试写一个游戏,想在游戏中拖动卡片。 我想在将标签拖动到另一个标签时删除该标签

所有标签都是在游戏过程中动态创建的。 有人能告诉我从哪里读到如何检测第一个标签的鼠标释放事件是否在不同的标签上吗

  • 在mouseRelease事件中,您需要在刚刚拖动的标签上使用
    getBounds()
  • 从Container类中,可以使用
    getComponents()
    获取面板上所有组件的数组
  • 然后循环遍历数组中的所有组件,以获得每个组件的边界
  • 您可以使用
    矩形。相交(…)
    确定两个标签是否相交。如果是,则删除第二个标签

  • 获取要拖动的标签的位置,然后检查两个矩形是否相交。让我们看看你试过什么