实现下列哪个接口可以对TextField对象的事件进行监听和处理? A ActionListener B FocusListener C MouseMotionListener D WindowListener E ContainerListener 达人能帮忙总结一下java里的这些Listener都怎么区分吗?感觉这么多的Listener,好复杂啊,为什么要分这么多种呢?
调试欢乐多
如果输入完毕点回车的话,是ActionListener
如果按tab转移焦点的话,应该是FocusListener吧(这个不确定)
楼上,java API里怎么查?
类推了!FocusListener 用于接收组件上的键盘焦点事件的侦听器接口。对处理焦点事件感兴趣的类要么实现此接口(以及它包含的所有方法),要么扩展抽象 FocusAdapter 类(只重写感兴趣的方法)。然后,根据该类创建的侦听器对象使用组件的 addFocusListener 方法向该组件注册。当组件获得或失去键盘焦点时,可调用侦听器对象中的相关方法,并将 FocusEvent 传递给它。
MouseMotionListener 用于接收组件上的鼠标移动事件的侦听器接口WindowListener 用于接收窗口事件的侦听器接口。旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。然后使用窗口的 addWindowListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。ContainerListener 用于接收容器事件的侦听器接口。对处理容器事件感兴趣的类要么实现此接口(以及它包含的所有方法),要么扩展抽象 ContainerAdapter 类(只重写感兴趣的方法)。然后,根据该类创建的侦听器对象使用组件的 addContainerListener 方法向该组件注册。当容器的内容因为添加和移除组件而更改时,可调用侦听器对象中的相关方法,并将 ContainerEvent 传递给它。