import java.awt .*;import java.applet .*;import java.awt.event.* ;public class FuXuan extends Applet implements ItemListener{ public void init() { Checkbox one=new Checkbox("猫"); Checkbox two= new Checkbox("狗",true); Checkbox three=new Checkbox("兔",false); one.addItemListener(this); add(one); two.addItemListener(this); add(two); three.addItemListener(this); add(three); } public void itemStateChanged(ItemEvent e) { }} |
分析:
第3行:调入处理包,以处理复选框的事件 第4行:implements是加入事件的接口,用implements来调用接口,这个接口函数是ItemListener; 第8行:调用函数Checkbox建立第1个选项,默认状态为假,即没有事先选中。 第9行:建立一个事先已经默认为正确的选项。 第12,14,16行:当用户点击复选框使其状态发生变化时就会引发ItemEvent类代表的选择事件。这个复选框已经把自身注册给ItemEvent事件的监听者ItemListener.系统会自动调用这个 ItemListener中的public void itemStateChanged(ItemEvent e)方法来响应复选框的状态改变。实际的实现了ItemListener接口的监听者。这个方法的方法体通常包括这样的语句:调用选择事件的方法e.getSelectable()获得印发选择事件的事件源对象引用,再调用e.getState()获取选择事件之后的状态。也可以直接利用事件事件原对象自身的方法操作,不过要注意的是getSelectable()方法的返回值是实现了Selectable接口的对象,需要把它强制转化成真正的事件原对象类型。例如: ((Checkbox)e.Selectable).getState():与e.getState效果是一致的。 第13,15,17行:将one、two、three三个复选框加入到面板中去,以使起能够在屏幕上显示出来。 |