Java 组件类的processEvent()方法
在处理各种事件时,我的一般策略是创建一个Java 组件类的processEvent()方法,java,event-handling,awt,event-listener,Java,Event Handling,Awt,Event Listener,在处理各种事件时,我的一般策略是创建一个xxxHandler类,如MouseHandler、WindowHandler,它扩展了Java提供的相应的xxxAdapter类 我刚刚浏览了一些关于处理事件的其他文本,其中说,无论何时扩展任何EventListener接口,比如ActionListener,都必须调用构造函数中的enablevents(AWTEvent e)方法,并在生成事件时调用super.processXXXEvent() 我发现这种方法非常令人困惑。这些方法的访问说明符为prot
xxxHandler
类,如MouseHandler
、WindowHandler
,它扩展了Java提供的相应的xxxAdapter
类
我刚刚浏览了一些关于处理事件的其他文本,其中说,无论何时扩展任何EventListener
接口,比如ActionListener
,都必须调用构造函数中的enablevents(AWTEvent e)
方法,并在生成事件时调用super.processXXXEvent()
我发现这种方法非常令人困惑。这些方法的访问说明符为protected
,因此我假设这些方法仅供内部使用
actionPerformed()
,mouseMoved()
等方法有什么好处?在这些方法中,您添加代码来处理方法定义中的事件,而不调用任何super
方法李>
需要帮助。简单的词语比技术上的胡言乱语更受欢迎
这些方法的具体用途是什么
processEvent()
方法过滤发生的事件类型。此方法的参数类型为AWTEvent
类型。
过滤后,此方法调用相应的processXYZEvent()
方法,该方法接受相应的事件对象
例如,processMouseEvent(MouseEvent)
processXYZEvent()
方法通过将事件对象传递给处理程序来通知相应的侦听器事件
例如,processMouseEvent(MouseEvent)
通知已注册的鼠标侦听器
enableEvents()
方法决定将哪些事件提供给processEvent()
方法。无法重写此方法,因为它是最终的。但是,可以在组件
类的子类中访问它,以确定组件支持的事件类型
他们真的需要处理事件吗
他们的作用如上所述。这意味着它们是处理事件所必需的,因为您只能在创建和调度事件对象时处理事件,而这些方法就是这样做的
这些方法的具体用途是什么
processEvent()
方法过滤发生的事件类型。此方法的参数类型为AWTEvent
类型。
过滤后,此方法调用相应的processXYZEvent()
方法,该方法接受相应的事件对象
例如,processMouseEvent(MouseEvent)
processXYZEvent()
方法通过将事件对象传递给处理程序来通知相应的侦听器事件
例如,processMouseEvent(MouseEvent)
通知已注册的鼠标侦听器
enableEvents()
方法决定将哪些事件提供给processEvent()
方法。无法重写此方法,因为它是最终的。但是,可以在组件
类的子类中访问它,以确定组件支持的事件类型
他们真的需要处理事件吗
他们的作用如上所述。这意味着它们是处理事件所必需的,因为您只能在创建和调度事件对象时处理事件,并且这些方法可以执行此操作。“我刚才正在浏览一些关于处理事件的其他文本”您在哪里看到的?请链接或参考。
enableEvent
我找不到这样的方法,只有enableEvents
我认为这些都是您所说的处理和传递事件的内部方法,它们不应该也不能直接使用。浪费什么?这是一种被广泛采用和推荐的方法。看起来这篇文章融合了两个想法,事件生成器
调用了processxxevent
,它将调用监听器。handlexxxevent
。监听器
只做自己的事情。它也是事件生成器
,它将调用enableEvents
“我刚才在看一些关于处理事件的其他文本”,您在哪里看到的?请链接或参考。enableEvent
我找不到这样的方法,只有enableEvents
我认为这些都是您所说的处理和传递事件的内部方法,它们不应该也不能直接使用。浪费什么?这是一种被广泛采用和推荐的方法。看起来这篇文章融合了两个想法,事件生成器
调用了processxxevent
,它将调用监听器。handlexxxevent
。监听器
只做自己的事情。它也是事件生成器
,它将调用启用事件