【问题标题】:How to target mouse events to the deeper JComponents while it is targeted to a JComponent that has a mouse listener当鼠标事件针对具有鼠标侦听器的 JComponent 时,如何将鼠标事件定位到更深层的 JComponent
【发布时间】:2017-04-19 21:25:53
【问题描述】:
在 Swing 中,鼠标事件会自动定位到具有鼠标侦听器的最深组件。
当有一个组件具有鼠标侦听器并添加在其他组件之上时,如何再次将它们定位到更深的组件?
应该在不将组件设置为不可见或移除其鼠标侦听器的情况下完成它,因为它是一个透明的JPanel,应该根据鼠标事件执行一些工作。
dispatchEvent() 仅在目标组件已知时有用(即下一个更深的组件)。
【问题讨论】:
标签:
java
swing
event-handling
awt
jcomponent
【解决方案1】:
dispatchEvent() 仅在目标组件已知时有用(即下一个更深的组件)。
您可以使用getParent() 方法来获取下一个更深的组件。
您也可以使用SwingUtillities.getAncestorOfClass(...) 来查找特定的父类。