考虑以下树
--> rootFrame
--> panelA
--> panelA1
--> panelB
--> panelB1
--> panelB2
panelB1可能会在某些时候变得可见,具体取决于外部因素。如果是这种情况,我想在panelA1中知道panelB1(或实际上任何其他面板)是否部分或完全重叠panelA1。
我无法找到办法。在panelA1的绘画中,我可以获取图形对象的剪辑边界,但是当组件重叠时不会调用绘制。
有没有办法A)确定Swing中的组件是否对用户完全可见,B)如果这种情况发生变化会收到通知?
答案 0 :(得分:0)
我不知道组件是否有任何方法可以知道组件是否已经涂在其上面。
我能想到的唯一想法是使用AWTEventListener
。您可以侦听事件以确定是否已显示或移动组件。
因此,每当生成任何这些事件时,您可以检查此组件的边界是否与您担心的组件的边界相交。
查看Global Event Listeners了解详情。