在Swing中,鼠标事件会自动定位到具有鼠标侦听器的最深部件。 如果有一个具有鼠标侦听器的组件并且添加到其他组件之上,如何将它们再次定位到更深层组件?
应该在不设置组件不可见或删除其鼠标侦听器的情况下完成,因为它是透明的JPanel
,应该根据鼠标事件执行某些操作。
dispatchEvent()
仅在目标组件已知时才有用(即下一个更深的组件)。
答案 0 :(得分:1)
只有当目标组件已知时(即下一个更深的组件),dispatchEvent()才有用。
您可以使用getParent()
方法获取下一个更深层的组合。
您还可以使用SwingUtillities.getAncestorOfClass(...)
查找特定的父类。