如何将鼠标事件定位到更深层次的JComponents,同时将其定位到具有鼠标侦听器的JComponent

时间:2016-12-05 13:10:39

标签: java swing event-handling awt jcomponent

在Swing中,鼠标事件会自动定位到具有鼠标侦听器的最深部件。 如果有一个具有鼠标侦听器的组件并且添加到其他组件之上,如何将它们再次定位到更深层组件?

应该在不设置组件不可见或删除其鼠标侦听器的情况下完成,因为它是透明的JPanel,应该根据鼠标事件执行某些操作。

dispatchEvent()仅在目标组件已知时才有用(即下一个更深的组件)。

1 个答案:

答案 0 :(得分:1)

  只有当目标组件已知时(即下一个更深的组件),

dispatchEvent()才有用。

您可以使用getParent()方法获取下一个更深层的组合。

您还可以使用SwingUtillities.getAncestorOfClass(...)查找特定的父类。