java:按钮(圆形可勾选按钮)

一、关键代码

(一)、单选按钮组件

  • 不写下方代码时,设置的多个按钮可以分别勾选,想勾哪个就勾哪个,不勾哪个就不勾哪个,互不干扰。
  • 添加如下代码时,相关联的几个按钮中只能勾选一个按钮。比如,勾选按钮btn_1后再勾选按钮btn_2后,则按钮btn_1的勾选效果便会取消,最后也只有按钮btn_2则处于勾选状态。
		// 单选框组合,group(组,集合)
		ButtonGroup group_1=new ButtonGroup();// 按钮 组
		group_1.add(btn_1);
		group_1.add(btn_2);
		group_1.add(btn_3);
  • 注意:使用相应的代码功能需要添加相应的功能包。以上的代码则需要在源码前添加如下代码类包:
 		import javax.swing.ButtonGroup;// 按钮 组

(二)、按钮默认勾选

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

二、简单说明

大致流程思想。创建一个窗体,创建一个容器,将容器嵌入窗体中。在容器中新建圆形可勾选的按钮组件,多个。添加单选按钮组件。设置默认勾选按钮。新建监听器,创建事件,编辑事件的内容,本文用的是信息框。此外,注意添加窗体和容器的相关功能的包类,import ····等这些。或则使用继承方法也可以,作者为学习记忆更深便不使用继承类的方法。

三、流程图

窗体
容器
圆圈可勾选按钮
布局
单选按钮组
按钮默认勾选
监听器
事件
信息框

四、源码

(一)、源码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.JRadioButton;// 选择按钮
import javax.swing.ButtonGroup;// 按钮 集合
import javax.swing.JButton;// 按钮
import javax.swing.JOptionPane;// 选择 窗格

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

	/*
		way2
		1、容器
		2、单选按钮
	*/
	void way2(){
		c=f.getContentPane();// content(包含),pane(窗格),容器嵌入窗体
		c.setLayout(new FlowLayout());// 设置布局(流布局)
		
		// radio(收音机)
		JRadioButton btn_1=new JRadioButton("按钮1");// 单选按钮
		JRadioButton btn_2=new JRadioButton("按钮2");
		JRadioButton btn_3=new JRadioButton("按钮3");
		
		c.add(btn_1);
		c.add(btn_2);
		c.add(btn_3);

		// 单选框组合,group(组,集合)
		ButtonGroup group_1=new ButtonGroup();// 按钮 组
		group_1.add(btn_1);
		group_1.add(btn_2);
		group_1.add(btn_3);

		btn_2.setSelected(true);// 按钮2默认选中,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,btn_1.getText()+"是否选中:"+btn_1.isSelected()
					+"\n"+btn_2.getText()+"是否选中:"+btn_2.isSelected()
					+"\n"+btn_3.getText()+"是否选中:"+btn_3.isSelected()
				);
				// 只要一个信息框,以下代码每行就是一个信息框,因此改进为上方加了"\n"的代码
				//JOptionPane.showMessageDialog(f,btn_2.getText()+"是否选中:"+btn_2.isSelected());// 弹出信息框
				//JOptionPane.showMessageDialog(f,btn_3.getText()+"是否选中:"+btn_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.点击按钮1后,点击“点击触发事件”,弹出信息框。如下:
    在这里插入图片描述

五、结语

很多内容反而是源码中的注释说明更能让人知道文章的内容是啥。通过源码的编译练习、试验,一个章节内容完成,内容的成果便是相关源码。硬是要另外添加文字说明,会有些鸡肋,毕竟有注释便足够。但有时候,一定的文字说明还是有必要的。因为随着时间的推移,以及自己写的东西会越来越多。当后面需要回顾拾起曾经的知识时,恰好的文字引导可以让人更快的拾起曾经摸索过的知识内容,以省下些时间。亲身动手操作一次,比看多次的效果要好的,亲手实操有时候会遇到许多意想不到的错误,而这些错误会增加知识经验的积累。

六、定位日期

2022.4.3;21:38

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值