在 Java Swing 中,我希望在组件旁边显示一个窗口——因此它将浮动在 GUI 之上。但我需要它始终保持在该特定组件旁边,无论它移动到哪里,用户是否移动窗口,滚动组件所在的滚动窗格,调整大小等。有没有一种简单的方法可以做到这一点?
我已经知道如何让它出现在正确的位置开始。因此,例如,如果组件在屏幕上的位置发生更改时触发某个事件,那将起作用。
看一眼Componet#getLocationOnScreen
您将不得不考虑组件的大小以及窗口可以在当前屏幕范围之外打开的可能性,但让我们从小步骤开始
我想我找到了。java.awt.Component.addHierarchyBoundsListener 在滚动条移动、窗口移动或调整大小时触发事件。我认为这会做我需要的。