你说的是单选按钮吧 ( VB语言的说法)
下面我是看视频时写的一段代码,希望能对你有帮助![code]package GUI.checkbox;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class CheckboxTest extends Frame {
/**
* 单选按钮和复选按钮(组合框)和下拉列表框
* 以及他们对应的事件监听器
*/
Checkbox cb = new Checkbox("你想成为黑马吗?");
//定义一个组合框组
CheckboxGroup cbg = new CheckboxGroup();
//定义一个属于同一组的单选按钮
Checkbox cb1 = new Checkbox("想", true, cbg);
Checkbox cb2 = new Checkbox("不想", false, cbg);
Choice c = new Choice();
public void init() {
setSize(500, 500);
setTitle("Checkbox");
FlowLayout fl = new FlowLayout();
setLayout(fl);
add(cb);
add(cb1);
add(cb2);
c.add("-------");
c.add("中国");
c.add("小日本");
add(c);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
MyListener ml = new MyListener();
cb.addItemListener(ml);
cb1.addItemListener(ml);
cb2.addItemListener(ml);
//给下拉列表框注册事件监听器
c.addItemListener(new ItemListener(){
@Override
public void itemStateChanged(ItemEvent e) {
//方法一:
//返回当前选定项的索引。
int post = c.getSelectedIndex();
//根据序号,获取此 Choice 菜单中指定索引上的字符串
System.out.println(c.getItem(post));
//方法二:返回受事件影响的项(对象)
System.out.println(e.getItem());
}
});
}
class MyListener implements ItemListener {
@Override
public void itemStateChanged(ItemEvent e) {
//返回产生事件的 ItemSelectable 对象方式1
Checkbox cbs = (Checkbox) e.getItemSelectable();
//返回产生事件的 Checkbox 对象方式2
//Checkbox cbx = cbg.getSelectedCheckbox();
// 匹配事件源:可以用下面的两种方式
//方式一:比较产生事件对象的label属性值
if (cbs.getLabel().equals("你想成为黑马吗?")) {
//判断组合框是否选中
if(cbs.getState()){
System.out.println("选中啦!");
}else{
System.out.println("很遗憾没有选中!");
}
}
//方式二:直接比较对象
else if (cbs == cb1) {
//判断选择与否的方法1
if(e.getStateChange() == ItemEvent.SELECTED){
System.out.println("我很想成为黑马程序员");
}
}
else if (cbs == cb2) {
//判断选择与否的方法2
if(cbs.getState()){
System.out.println("我不想成为黑马程序员");
}/*else{//此处的else语句无效,即不能通过else来判断单选按钮没有选中。
System.out.println("haha");
}*/
}
}
}
public static void main(String[] args) {
new CheckboxTest().init();
}
}[/code] |