【问题标题】:Dragging a JLabel over another JLabel [closed]将一个 JLabel 拖到另一个 JLabel 上 [关闭]
【发布时间】:2013-03-11 16:03:01
【问题描述】:

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

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

【问题讨论】:

  • 获取被拖动标签的位置,然后检查两个矩形是否相交。并告诉我们你尝试了什么

标签: java swing drag jlabel mouselistener


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多