Java 具有相同事件侦听器的堆叠组件

Java 具有相同事件侦听器的堆叠组件,java,swing,events,event-handling,Java,Swing,Events,Event Handling,我有一个JPanel(a),其中包含另一个JPanel(B)。每个面板实现一个MouseMotionListener和一个MouseStener。拖动时,仅内部/上部面板(B)响应此事件。因此,我从A中删除了MouseMotionListener,从B中删除了MouseListener。第二个测试表明,A仅在光标位于B之外时才会响应 是否有一种解决方案,使两个面板对同一个侦听器做出反应。我需要每个事件的getX()-方法。在拖动事件中,每个面板应返回另一个x值。所以在我的情况下,事件转发不是一个

我有一个JPanel(a),其中包含另一个JPanel(B)。每个面板实现一个MouseMotionListener和一个MouseStener。拖动时,仅内部/上部面板(B)响应此事件。因此,我从A中删除了MouseMotionListener,从B中删除了MouseListener。第二个测试表明,A仅在光标位于B之外时才会响应

是否有一种解决方案,使两个面板对同一个侦听器做出反应。我需要每个事件的getX()-方法。在拖动事件中,每个面板应返回另一个x值。所以在我的情况下,事件转发不是一个解决方案


非常感谢……

我不相信Swing为事件冒泡提供了任何支持(这意味着一个元素上的事件不会被传输到其父元素)。解决方法是将父对象传递给子对象,并在子对象上发生事件时手动调用其事件处理程序(不是很好,但它可以工作)。

但请确保更改MouseEvent对象的参数以使其有意义,包括使鼠标事件的位置相对于父对象的坐标系。