java学习之checkbox和choice

本文介绍了Java中的CheckboxGroup类和Choice类。CheckboxGroup允许复选框按钮在任意时间仅有一个处于选中状态,而Choice类则展示了如何创建一个弹出式选择菜单。通过示例代码,读者可以更好地理解和应用这两个组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

______________________________________________________________________________________

一。CheckboxGroup类

public class CheckboxGroup
extends Object
implements Serializable
 

CheckboxGroup 类用于集合 Checkbox 按钮集。

准确地说,CheckboxGroup 中的复选框按钮可以在任意给定的时间处于 "on" 状态。按下任何按钮,可将按钮状态设置为 "on",并且强制将任何其他 "on" 状态的按钮更改为 "off" 状态。 

——————————————————————————————————————————————————————————

二。choice类

Choice 类表示一个弹出式选择菜单。当前的选择显示为菜单的标题。

下列代码示例产生了一个弹出式菜单:


Choice ColorChooser = new Choice();
ColorChooser.add("Green");
ColorChooser.add("Red");
ColorChooser.add("Blue");

————————————————————————————————————————————

三。testCheckbox.java

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);

	}

}


_______________________________________________________________________________________________________________________

自《张孝祥--java就业教程》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值