如果我在JFrame
上实施一个有一些按钮的动作事件就会给我
按钮通过getSource
点击,但如果我在同一帧上实现鼠标事件
它不会让我感觉到按钮的事件,而只是针对那个JFrame
。
为什么?
事件冒泡似乎只适用于动作事件,那么Swing实现了什么模型?
哪些听众类型以冒泡的方式运作?
答案 0 :(得分:2)
在AWT中冒泡的事件仅适用于鼠标事件,并且只有在子组件上没有鼠标侦听器时才会起作用。
如果你有一个JComboBox
,这通常由PL& F用文本字段和按钮组件实现,这可能会令人困惑。你可能想查找“玻璃窗格”。
我建议尽可能地忽略包含层次结构。还要创建了解其上下文和点使用getSource
的侦听器。并且不要不必要地扩展类(例如JFrame
,JPanel
和Thread
)。