如果子级未使用事件,则允许父级处理鼠标事件

时间:2010-10-08 05:08:18

标签: java events swing parent-child

我有这个框架:

alt text

以下是发生的事情:

  1. 当我在粉红色面板上时,滚动窗格工作正常。
  2. 当我将鼠标放在深灰色 JTextArea 上时,滚动窗格无法获取该事件。
  3. 一般来说,我的问题是,如果组件未处理该特定事件,即使组件具有侦听器并且已启用,如何确保组件的父级接收事件?

    也许一个具体的例子可以做到。

    你可以看到计算器,计算器是在可伸缩的图像面板上绘制的,并且可以通过Ctrl + Wheel事件放大和缩小,但是当我不按Ctrl时,我希望滚动窗格能够接收到事件并滚动视图端口。 (我认为这总结了它)

    亚当。

2 个答案:

答案 0 :(得分:1)

虽然不完全“整洁”,但我的answer in this question可能会适应您想做的事情。

而不是MOUSE_EVENT_MASK您使用AWTEvent.MOUSE_WHEEL_EVENT_MASK,并在控制键状态合适时将事件传递给滚动窗格。

(幸运的是,有人会发布“真实”机制将事件转发给父组件)。

答案 1 :(得分:0)

正如我在评论中描述的那样,它运作正常......