如何将鼠标事件定位到更深的 JComponents,同时将鼠标事件定位到具有鼠标侦听器的 JComponent
How to target mouse events to the deeper JComponents while it is targeted to a JComponent that has a mouse listener
在 Swing 中,鼠标事件会自动定位到具有鼠标侦听器的最深层组件。
当有一个组件有鼠标侦听器并添加在其他组件之上时,如何再次将它们定位到更深的组件?
应该在不将组件设置为不可见或移除其鼠标侦听器的情况下完成,因为它是透明的JPanel
,应该根据鼠标事件做一些工作。
dispatchEvent()
仅在目标成分已知时有用(即下一个更深的成分)。
dispatchEvent() is useful only when the target component is known(i.e. the next deeper component).
您可以使用getParent()
方法获取下一个更深的组件。
您还可以使用 SwingUtillities.getAncestorOfClass(...)
查找特定的父项 class。
在 Swing 中,鼠标事件会自动定位到具有鼠标侦听器的最深层组件。 当有一个组件有鼠标侦听器并添加在其他组件之上时,如何再次将它们定位到更深的组件?
应该在不将组件设置为不可见或移除其鼠标侦听器的情况下完成,因为它是透明的JPanel
,应该根据鼠标事件做一些工作。
dispatchEvent()
仅在目标成分已知时有用(即下一个更深的成分)。
dispatchEvent() is useful only when the target component is known(i.e. the next deeper component).
您可以使用getParent()
方法获取下一个更深的组件。
您还可以使用 SwingUtillities.getAncestorOfClass(...)
查找特定的父项 class。