将JLabel拖动到另一个JLabel上

时间:2013-03-11 16:03:02

标签: java swing drag jlabel mouselistener

我正在尝试编写游戏,并想在我的游戏中拖动卡片。 我想把那个标签拖到另一个标签上时删除一个标签。

所有标签都是在游戏过程中即时创建的。 有人可以告诉我在哪里阅读如何检测第一个标签的mouseReleased事件是否在不同的标签上

1 个答案:

答案 0 :(得分:2)

  1. 在mouseRelease事件中,您需要在刚刚拖动的标签上使用getBounds()
  2. 从Container类中,您可以使用getComponents()获取面板上所有组件的数组。
  3. 然后遍历数组中的所有组件以获取每个组件的边界。
  4. 您可以使用Rectangle.intersects(...)来确定两个标签是否相交。如果是,则删除第二个标签。