1、CheckboxGroup类
CheckboxGroup 中的复选框按钮可以在任意给定的时间处于 "on" 状态。按下任何按钮,可将按钮状态设置为 "on",并且强制将任何其他 "on" 状态的按钮更改为 "off" 状态。
2、choice类
Choice 类表示一个弹出式选择菜单。当前的选择显示为菜单的标题。
3、例子
package testCheckbox;
import java.awt.*;
import java.awt.event.*;
public class testCheckbox extends Frame {
Checkbox cb1=new Checkbox("你好吗?");
CheckboxGroup cg=new CheckboxGroup();
Checkbox cb2=new Checkbox("好",true,cg);
Checkbox cb3=new Checkbox("不好",false,cg);
CbItemListener cbi=new CbItemListener();
ChItemListener chl=new ChItemListener();
Choice ch=new Choice();
/**
* 实现choice的功能
*/
class ChItemListener implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
System.out.println(e.getItem());
}
}
/**
* 实现checkbox的操作
*/
class CbItemListener implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
Checkbox cb=(Checkbox)e.getItemSelectable();
if(cb.getLabel().equals("你好吗?"))
{
if(cb.getState()==true)
{
System.out.println("选中“你好吗?”");
}
else
{
System.out.println("未选中“你好吗?”");
}
}
/*else if(cb.getLabel().equals("好"))
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
System.out.println("选中“好”");
}
else
{
System.out.println("未选中“好”");
}
}else if(cb.getLabel().equals("不好"))
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
System.out.println("选中“不好”");
}
else
{
System.out.println("未选中“不好”");
}
}*/
else
{
Checkbox cbx=cg.getSelectedCheckbox();
if(cbx!=null)
{
System.out.println(cbx.getLabel());
}
}
}
}
public testCheckbox()
{
FlowLayout flw=new FlowLayout();
setLayout(flw);
add(cb1);
add(cb2);
add(cb3);
cb1.addItemListener(cbi);
cb2.addItemListener(cbi);
cb3.addItemListener(cbi);
//增加choice选择项
ch.add("c1");
ch.add("c2");
ch.add("c3");
add(ch);
ch.addItemListener(chl);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
testCheckbox dw=new testCheckbox();
dw.setSize(400, 300);
dw.setTitle("test");
dw.setVisible(true);
}
}