让窗口跟踪组件在屏幕上的位置

时间:2013-03-21 20:17:18

标签: java swing

在Java Swing中,我希望窗口显示在组件旁边 - 因此它将浮动在GUI之上。但我需要它始终保持在特定组件旁边的任何位置,无论用户是否移动窗口,滚动组件所在的滚动窗格,调整大小等等。是否有直接的方法来执行此操作?

我已经知道如何让它出现在正确的地方开始。因此,举例来说,如果某个组件在屏幕上的位置发生了变化,那么任何事件都会触发,那就可以了。

2 个答案:

答案 0 :(得分:3)

查看Componet#getLocationOnScreen

您将不得不考虑组件的大小以及可以在当前屏幕边界之外打开窗口的可能性,但让我们从小步骤开始

答案 1 :(得分:2)

我想我找到了它。当滚动条移动,窗口移动或调整大小时,java.awt.Component.addHierarchyBoundsListener将触发事件。我认为这将做我需要的。