选择事件
选择事件中包含以事件的选择项,选中状态发生变化的事件ITEM_STATE_CHANGEN。引发的动作为:
1》改变列表类list对象选项的选中状态。
2》改变下拉列表类Choice对象选项的选中或不选中状态。
3》改变复选框按钮类Checkbox对象的选中或不选中状态。
事件源对象注册的方法如下:
public void addItemListener(ItemLister l)
添加特定的监听者,接受对象的选项发生变化的事件。
Public ItemSelectable getItemSelectable()
ItemEvent事件的方法,返回产生事件的事件源对象。
Public interface ItemListener extends Eventlister
接收选项事件的监听者接口。当选项中事件发生时,调用监听对象的ItemStateChanged方法。
Public void itemStateChanged(ItemEcent e)
当用户选中一项或未选中一项时,调用这个方法。
程序例子:测试选择事件,分别对设置的复选框和有三种字号10,12,14的组合选择时,标签的颜色和字体发生变化。
//程序名字为Text.java
import java.applet.Applet;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.Font;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class Test extends Applet implements ItemListener{
Checkbox cDisp;
Button btnDisp;
Choice cFont;
public void init()
{
cDisp=new Checkbox("红色");
btnDisp=new Button("颜色显示");
cFont=new Choice();
cFont.add("10");
cFont.add("12");
cFont.add("14");
//添加事件
cDisp.addItemListener(this);
cFont.addItemListener(this);
add(cDisp);
add(cFont);
add(btnDisp);
}
//接口事件
public void itemStateChanged(ItemEvent e){
Checkbox temp;
Choice temp2;
Font oldF;
//复选框
if(e.getItemSelectable() instanceof Checkbox)
{
oldF=btnDisp.getFont();
temp2=(Choice)(e.getItemSelectable());
String s=temp2.getSelectedItem();
//设置字体
btnDisp.setFont(new Font(oldF.getName(),oldF.getStyle(),Integer.parseInt(s)));
}
}
}