java - 在 AWT 事件模型中冒泡?

标签 java events swing awt

如果我在一个有一些按钮的 JFrame 上实现一个 Action 事件,它会给我 通过 getSource 单击按钮,但如果我在同一帧上实现鼠标事件 它不会让我触发按钮的事件,而只是针对那个 JFrame

为什么?

事件冒泡似乎只适用于 Action 事件,那么 Swing 实现的模型是什么?

哪些监听器类型以冒泡方式工作?

最佳答案

AWT 中的事件冒泡仅适用于鼠标事件,并且仅当子组件上没有鼠标监听器时才有效。

如果您有一个 JComboBox,它通常由 PL&F 实现,带有一个文本字段和一个按钮组件,这可能会非常困惑。您可能想查找“玻璃板”。

我建议尽可能忽略包含层次结构。还可以创建了解其上下文的监听器并点使用 getSource。并且不要在不必要的情况下扩展类(例如 JFrameJPanelThread)。

关于java - 在 AWT 事件模型中冒泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3735461/

相关文章:

angularjs - 在广播事件之前未设置广播监听器

java - JFrame 中心组件

java - 你能让 JScrollBar 的背景透明吗?

java - Spring 集成: Force Webservice Outbound Gateway to Use TLSv1

java - Java中的非阻塞CAS真的是非阻塞的吗?

events - Kentico - 自动电子邮件确认 - 事件预订系统

c# - 如何使用 onclick 事件发送值?

java - 为什么我的 Sprite 会沿对角线移动?

java - 什么是 Jersey 的 ContextResolver 和 Provider?

java - 等待 2 个线程在继续程序之前完成