在Swing 中每个组件都可触发事件,一旦触发事件会被一个或多个Listener(监听器)接收。不同类型的事件分别由个别的class表示。事件发生点可以和处理事件的代码分开。
要想处理事件,只要产生Listener对象,并调用组件的addXXXListener()方法注册事件。我们大部分是通过继承事件接口来处理事件的。但是继承Java接口我们必须实现出接口中的所有方法。有些接口包含了大量的函数,如果要一个个实现是件很麻烦的事件上,Java中定义了相应接口的Adapter接配器类来解决这种情况。接配器类已经帮我们实现了接口的所有方法,而我们只要继承接配器就可在代码内做我们想做的事情。也即只要实现或覆写我们想要实现的方法。
![]()
几乎用户使用鼠标、键盘做的每一个动作都会引起一个消息,也就是会引发一个事件,但我们并不是要对这些所有的事件都做出反应,有些事件并不是我们所关心的。对于不同的部件,我们需要关心的事件往往不同。下表中列出了最常用到的几个事件。
部件 事件类型 事件描述
JButton ActionEvent 按下了按钮
CheckBox ActionEvent 选择或取消选择复选框
JTextField ActionEvent 用户输入文本输入回车键
[补充]
A, B的事件模型
在A里fireEvent
在B里, a.addActionListener(new MyActionListener())
定义 MyActionListener do something
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=32403