如何知道组件是否相对于屏幕移动(而不是相对于其父级)?

时间:2013-02-19 12:06:24

标签: java swing location screen componentlistener

我在JFrame中有一个组件,我需要知道组件何时相对于屏幕空间移动。

当移动框架时,无论是在布局更改时,都会发生这种情况。

我的问题:

  • 当我将ComponentListener附加到我的组件上时 如果移动了框架,则不会调用回调方法componentMoved() 因为组件与其相关的位置仍然相同 父(这里是JFrame
  • 我想知道何时移动组件而不添加a ComponentListener本身JFrame ...

所以我正在寻找一种方法来了解组件相对于屏幕的移动时间。

注意:这些规范是强加给我的......我别无选择,但在这里解释一下这将是多么无关紧要。

1 个答案:

答案 0 :(得分:1)

使用SwingUtilities。只通过(0,0)点并查看结果坐标

public static void convertPointToScreen(Point p,Component c)

您应该将监听器附加到包含框架的组件