java:按钮(复选框)

一、关键代码

(一)、单选按钮组件

  • 复选框“”,即方框可可勾选的按钮,和单选框“O”(圆形可勾选按钮)不同的只是外形和代码的单词不同,原理流程却相似。如都要引入相关的包类,以创建组件等。若复选框也和单选框一样使用按钮组,也可以达成单选框的效果。当然反过来,圆形可勾选按钮(单选框)也可以作为复选框的功能来使用。圆形可勾选按钮(单选框)具体可以看往篇“按钮(圆形可勾选按钮)”的博文。
  • 添加如下代码时,相关联的几个按钮中只能勾选一个按钮。比如,勾选按钮c_box_1后再勾选按钮c_box_2后,则按钮c_box_1的勾选效果便会取消,最后也只有按钮c_box_2则处于勾选状态。这里根据代码 JCheckBox 字面没有关于按钮的内容,但细看字面可翻译为:java的可勾选盒子,也就是复选框。流程原理和单选框相同,创建的组件(按钮,等)都要放入到group(组)中,以达到几个按钮只能勾选一个的效果。
		// 单选按钮组件
		ButtonGroup group_1=new ButtonGroup();// 按钮 组
		group_1.add(c_box_1);
		group_1.add(c_box_2);
		group_1.add(c_box_3);
  • 注意:使用相应的代码功能需要添加相应的功能包。以上的代码则需要在源码前添加如下代码类包:
		import javax.swing.JCheckBox;// 复选框

(二)、按钮默认勾选

  • 这里代码是默认勾选按钮c_box_1。
  • 默认情况下,按钮初始状态是没有勾选的。想默认勾选哪个按钮,需要如下代码:
		c_box_1.setSelected(true);// 默认选中,Selected(选中)。

二、简单说明

大致流程思想:

  1. 创建一个窗体,创建一个容器,将容器嵌入窗体中。
  2. 容器设置布局(本文:流布局)。
  3. 在容器中新建圆形可勾选的按钮组件,多个。
  4. 添加单选按钮组件。
  5. 设置默认勾选按钮。
  6. 新建监听器,创建事件,编辑事件的内容,本文用的是信息框。
  • 此外,注意添加窗体和容器的相关功能的包类,import ····等这些。或则使用继承JFrame窗体类的方法也可以,作者为让逻辑感更好一个类一个类的设置引用。望往后能熟能生巧。

三、流程图

也可以叫做
窗体
容器
复选框
布局
方框可勾选按钮
单选按钮组
按钮默认勾选
监听器
事件
信息框

四、源码

(一)、源码A

/*	【程序思想】
*	按钮 复选框

	1、窗体
	2、按钮,方框可打勾按钮
	3、按钮,复选框
*/

import java.awt.Container;// 容器
import java.awt.FlowLayout;// 流布局

import java.awt.event.ActionListener;// 监听器
import java.awt.event.ActionEvent;// 事件

import javax.swing.JFrame;// 窗体
import javax.swing.JCheckBox;// 复选框
import javax.swing.JOptionPane;// 消息框
import javax.swing.JButton;// 按钮
import javax.swing.ButtonGroup;// 按钮组

class Demo{
	JFrame f=new JFrame();// 创建窗体
	Container c;// 容器

	/*
		way2
		设置容器
		复选框
	*/
	void way2(){
		// Content(包含),pane(窗格)
		c=f.getContentPane();// 容器c嵌入窗体f中
		c.setLayout(new FlowLayout());// 布局,流布局,flow(流动)

		JCheckBox c_box_1=new JCheckBox("按钮1");// 复选框,check(打勾)
		JCheckBox c_box_2=new JCheckBox("按钮2");// check(打勾)
		JCheckBox c_box_3=new JCheckBox("按钮3");// check(打勾)

		c.add(c_box_1);
		c.add(c_box_2);
		c.add(c_box_3);

		// 单选按钮组件
/*		ButtonGroup group_1=new ButtonGroup();// 按钮 组
		group_1.add(c_box_1);
		group_1.add(c_box_2);
		group_1.add(c_box_3);
*/
		c_box_1.setSelected(true);// 默认选中,Selected(选中)。
	
		JButton btn_0=new JButton("点击触发事件");
		// action(动作),listener(监听)
		btn_0.addActionListener(new ActionListener(){// 增加监听动作
			// performed(执行)
			public void actionPerformed(ActionEvent e){// 满足 动作 事件 的选择后触发以下事件
				// 信息框,option(选择),message(消息),dialog(对话框)
				JOptionPane.showMessageDialog(f,
					c_box_1.getText()+"是否选中:"+c_box_1.isSelected()+"\n"+
					c_box_2.getText()+"是否选中:"+c_box_2.isSelected()+"\n"+
					c_box_3.getText()+"是否选中:"+c_box_3.isSelected()
				);
			}
		});
		c.add(btn_0);
	}
	/*
		way1
		窗体的基本属性
	*/
	void way1(){
		f.setBounds(400,200,500,400);// 坐标、尺寸
		// Default(默认),Operation(操作)
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点×即关闭

	}

	public static void main(String[] args) {
		Demo d=new Demo();
		d.way1();// 窗体基本属性
		d.way2();// 容器。复选框。

		d.f.setVisible(true);// 窗体可见
	}
}


(二)、源码A的运行效果

  • 1.默认效果如下图:
    在这里插入图片描述

  • 2.再点击按钮2,点击“点击触发事件”,弹出信息框。如下图:
    注意:单选框的功能已经被注释,程序运行不会有单选的效果,想实现单选框的效果取消单选组件的相关代码的注释便可。
    在这里插入图片描述

五、结语

复选框的原理和单选框的原理相似,单选框按钮的内容,具体可浏览上一篇博文《按钮(圆形可勾选按钮)》。虽说是单选框和复选框,但其实这两也只是代码中单词翻译的字面意识不同。真正实现单选的功能,只是添加了一个按钮组ButtonGroup类的功能。不加这个单选功能时,方框或者圆形的可勾选按钮组(单选框和复选框)都可以是复选,也就是多个按钮可同时勾选;而添加了单选的功能,方框或者圆形的可勾选按钮组(单选框和复选框)都只能是单个按钮勾选了。

六、定位日期

2022.4.4;19:42

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值