Java开发GUI之单复选框 原

Java开发GUI之单复选框

    单复选框在处理一些用户选项时十分方便。在Java的GUI体系中,复选框使用Checkbox类来创建,单选框实际上是将多个复选框结合成为组,同一组的复选框同时只能有一个被选中。

		Frame frame = new Frame("BUTTON");
		Panel pannel = new Panel();
		frame.add(pannel);
		MyItemListener listener = new MyItemListener();
		//无参的构造方法
		Checkbox checkbox1 = new Checkbox();
		//设置显示文本
		checkbox1.setLabel("是否已退款");
		//设置选中状态
		checkbox1.setState(true);
		//添加状态变化监听
		checkbox1.addItemListener(listener);
		//使用设置文本和状态的构造方法
		Checkbox checkbox2 = new Checkbox("是否开通额外服务", false);
		checkbox2.addItemListener(listener);
		pannel.add(checkbox1);
		pannel.add(checkbox2);
		//创建组
		CheckboxGroup group = new CheckboxGroup();
		Checkbox checkbox3 = new Checkbox("男", false);
		checkbox3.addItemListener(listener);
		checkbox3.setCheckboxGroup(group);
		Checkbox checkbox4 = new Checkbox("女", false, group);
		checkbox4.addItemListener(listener);
		pannel.add(checkbox3);
		pannel.add(checkbox4);
		frame.pack();
		frame.show();

MyItemListener实现了ItemListener接口,如下:

class MyItemListener implements ItemListener{

	@Override
	public void itemStateChanged(ItemEvent e) {
		// TODO Auto-generated method stub
		System.out.println(((Checkbox)e.getSource()).getState());
	}
	
}

效果如下图所示:

Checkbox类常用方法汇总:

//获取标题文本
public String getLabel();
//设置标题
public void setLabel(String label);
//获取当前复选框的选中状态
public boolean getState();
//设置当前复选框的选中状态
public void setState(boolean state);
//获取复选框所在的组
public CheckboxGroup getCheckboxGroup();
//设置复选框组
public void setCheckboxGroup(CheckboxGroup g);
//添加状态监听对象
public synchronized void addItemListener(ItemListener l);
//移除状态监听对象
public synchronized void removeItemListener(ItemListener l);
//获取状态监听对象
public synchronized ItemListener[] getItemListeners();
public <T extends EventListener> T[] getListeners(Class<T> listenerType);

CheckboxGroup常用方法汇总:

//获取组中当前选中的checkbox
public Checkbox getSelectedCheckbox();
//设置当前选中的checkbox
public void setSelectedCheckbox(Checkbox box);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享圈

杨老师课堂之JavaScript案例手动切换轮播图片

        2.1跳转div盒子的布局(宽、高、边框线、水平居中、文字居中...)

802
来自专栏我分享我快乐

WEB布局代码初学者常见问题整理

1、 单词写错 ? ? 2、 用中文符号 ? ? 3、 标签未结束 ? ? 4、 引号未结束 ? ? 5、 尖括号未结束 ? ? 6、 标签属性之间...

3076
来自专栏LIN_ZONE

js 画布与图片的相互转化(canvas与img)

//将图片对象转化为画布,返回画布 function ImageToCanvas(image) { var canvas = document.createE...

1522
来自专栏软件开发

CSS3与页面布局学习总结(一)——概要、选择器、特殊性与刻度单位

web前端开发者最最注的内容是三个:HTML、CSS与JavaScript,他们分别在不同方面发挥自己的作用,HTML实现页面结构,CSS完成页面的表现与风格,...

2268
来自专栏cnblogs

Bootstrap源码分析之transition、affix

一、Transition(过滤) 作为一个基础支持的组件,被其他组件多次引用。实现根据浏览器支持transition的能力,然后绑定动画的结束事件; 首先:创建...

2047
来自专栏菜鸟计划

javascript 事件基础

一:事件流       事件流描述的是从页面中接收事件的顺序。 ? ?  事件冒泡 <div id="one"> <div id="tw...

3545
来自专栏超然的博客

CSS 居中

给父元素设置float,然后父元素设置position:relative和left:50%,子元素设置position:relative和left:-50%来实...

981
来自专栏木子昭的博客

<布局>子级相对级居中对齐的几种方式

? 一. 父元素相对定位, 子元素绝对定位,然后右下偏移top: 50%; left: 50%; 再反向偏移transform: transtlate(-50...

2834
来自专栏Java后端技术

细谈CSS布局方式

  [2].浮动布局方式:通过设置html的float属性显示,值:none不浮动、left对象向左浮动,而后面的内容流向对象的右侧、right对象向右浮动,而...

1032
来自专栏wym

见缝插针游戏--实现转圈

1301

扫码关注云+社区