java-swing-单选框

article/2025/11/5 22:44:56

单选框的实现类是JRadioButton类;
在使用时要引入:

import javax.swing.JRadioButton;

单选框和复选框类似, 都是从JToggleButton 类派生出来的。但不同之处在于,单选框的选框组中,只能有一个处于选中状态。
这里加入一个ButtonGroup类,单选框按钮一般处于一个按钮组中,独自的一个单选框是没有意义的。
在使用单选框时,也要引入:

import javax.swing.ButtonGroup;

在同一个 ButtonGroup 按钮组中的单选按钮,只能有一个单选按钮被选中。因此,如果创建的多个单选按钮其初始状态都是选中状态,则最先加入ButtonGroup 按钮组的单选按钮的选中状态被保留,其后加入到 ButtonGroup 按钮组中的其他单选按钮的选中状态被取消

JRadioButton类的构造方法如下,它有3个参数(可根据需要设置参数,不一定三个都填)
JRadioButton(String text,Icon icon,boolean selected):创建一个具有指定的文本、图像和选择状态的单选按钮。

现在来创建几个单选框:

//创建4个单选框按钮
JRadioButton c1 = new JRadioButton("面筋哥",true);//只传了两个参数
JRadioButton c2 = new JRadioButton("凤姐");
JRadioButton c3 = new JRadioButton("芙蓉姐姐");
JRadioButton c4 = new JRadioButton("电瓶哥");

创建一个按钮组,并将c1,c2,c3,c4加入进去

ButtonGroup group = new ButtonGroup();   //创建一个按钮组
group.add(c1);            //将c1,c2,c3,c4加入到group里
group.add(c2);
group.add(c3);
group.add(c4);

现在四个按钮就是 group 组的了。
需要注意的是,group并不能加入到面板或者窗口中去,只能将单选框按钮一个一个的加到面板或窗口中去。

现在来创建顶层容器,面板(中间容器),并将c1,c2,c3,c4加入到面板。

JFrame j1 = new JFrame("Box");   //顶层容器j1
j1.setSize(200, 200);          //设置窗口大小
JPanel j2 = new JPanel();       //面板(中间容器)JLabel l1 = new JLabel("你更喜欢哪个人:"); //这是另外创建的一个标签,也加入到面板里吧。
j2.add(l1); //标签l1加到面板j2j2.add(c1); //将c1,c2,c3,c4加入到面板(中间容器)
j2.add(c2);
j2.add(c3);
j2.add(c4);

最后将面板j2加入到窗口j1,运行程序看看。

j1.add(j2);	  //面板j2加入到窗口j1
j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //这两个前面提到过便不再赘述
j1.setVisible(true);

运行结果:
单选框运行结果

下面是完整的可运行的源代码

import javax.swing.JFrame;   //顶层容器 (框架)
import javax.swing.JPanel; //中间容器 
import javax.swing.JLabel;   //标签
import javax.swing.JRadioButton; //单选框实现类
import javax.swing.ButtonGroup;  //按钮组类public class text_JRadioButton
{public static void main(String[] args) {	JFrame j1 = new JFrame("Box");   //顶层容器j1.setSize(200, 200);          //窗口大小JPanel j2 = new JPanel();       //中间容器JRadioButton c1 = new JRadioButton("面筋哥",true);JRadioButton c2 = new JRadioButton("凤姐");JRadioButton c3 = new JRadioButton("芙蓉姐姐");JRadioButton c4 = new JRadioButton("电瓶哥");ButtonGroup group = new ButtonGroup();group.add(c1);group.add(c2);group.add(c3);group.add(c4);JLabel l1 = new JLabel("你更喜欢哪个人:");j2.add(l1);j2.add(c1);j2.add(c2);j2.add(c3);j2.add(c4);j1.add(j2);	j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);j1.setVisible(true);}
}

http://chatgpt.dhexx.cn/article/wc9FCwLu.shtml

相关文章

HTML文本框和单选框

大家好&#xff0c;给大家讲一下HTML文本框和单选框 这是它常见的一些属性 上源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录注册</title> </head> <body> <h1>注…

[Qt 教程之Widgets模块] —— QRadioButton单选框

Qt系列教程总目录 文章目录 0. QRadioButton简介1. 创建QRadioButton2. 修改QRadioButton文本3. QRadioButton分组4. QRadioButton的信号 0. QRadioButton简介 QRadioButton既单选框&#xff0c;常用作表单互斥选择选项&#xff0c;在“多选一”的场景中使用。 office word和…

Vue中数组循环添加单选框问题

前言 今天在写一个通过v-for来循环数组&#xff0c;并且在每一条数据中添加单选框功能。然后这边的写法与正常添加单选框参数有点不一样&#xff0c;如下。 1、常规情况下添加单选框&#xff1a; <body><div id"example-4">正常添加单选框<br>&…

css实现单选框效果

效果查看&#xff1a; 一、搭建好html页面结构 先在html页面中创建出一个盒子用于存放按钮和文字 光一个大盒子还不够&#xff0c;用span标签来说明文字&#xff0c;i标签来表示单选框中间的那坨圆点&#xff0c;这些都用一个小盒子套住&#xff0c;这个小盒子用于勾勒单选框…

Axure做单选框

1、首先我们打开Axure 2、找到单选框 3、然后我们拖出来并复制一个 4、第一个命名为“左” 5、第二个命名为“右” 6、将“左”单选框的文字改为“是” 7、将“右”单选框的文字改为“否” 8、给“左”单选框设置一个组&#xff0c;打个“1”好了 9在“右”单选框按钮那直接找到…

单选框事件

-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术&#xff1a;vs c# 作者&#xff1a; xqll 撰写时间&#xff1a;2019/8/18 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 日常编程中&#xff0c;我们经常要用到单选框来选择获取到自己需要的东西 为自己犯过的错以加深一…

layui单选框事件监听

layui单选框事件监听 <form class"layui-form dianxuan" action""style"float: left;margin-top: 7px;margin-right: 20px;"><div class"layui-form-item"><label class"layui-form-label" style"width…

html单选框选中状态,jquery怎么判断单选框是否选中

jquery判断单选框是否选中的方法&#xff1a;1、通过单选框选中的值判断。2、通过单选框的checked属性判断是否选中。 jquery判断单选框是否选中的两种方法介绍&#xff1a; 第一种&#xff1a;利用选中值判断选中/p> Transitional//EN" "http://www.w3.org/TR/xh…

vue单选框选中_vue中怎么处理多个单选框,且单选框互不影响的方案

项目需求是&#xff1a;需要提交多个老师的信息&#xff0c;信息中包含老师的职位&#xff0c;职位是单选框&#xff1b; 难点是&#xff1a;怎么确保多个单选框不冲突&#xff0c;单选框怎么用v-for遍历出来&#xff1b; 最终效果是&#xff1a; 1、首先最外层先通过数组遍历出…

自定义单选框样式方法

元素的初始样式都不怎么好看&#xff0c;我们一般修改样式会想到直接在那元素上添加样式&#xff0c;比如background、border等&#xff0c;在大多数元素上是可以这么做&#xff0c;但当遇上了单选框会毫无反应。 例&#xff1a; <!DOCTYPE html> <html lang"e…

html正方形单选框代码,单选框/复选框

[html]代码库单选、复选框Demo function getSelectedEffect(effects) {//获取效果选项 for ( var i 0; i < effects.length; i) { if (effects[i].checked) return effects[i].value; } return "[没有选择]"; } function getSelectedPrograms(programs) {//获取栏…

Tkinter单选框

单选框和复选框类似&#xff0c;只是使用Radiobutton。 可以修改上一个测试代码即可。 from tkinterimport *ChooseP FalseChooseC Falsedef funChooseP():global lab, radioBtnA, ChoosePif ChooseP False:ChooseP Truelab["text"] "选择 Python 语言学习&qu…

单选框的用法即几种常见对话框

一、单选框 RadioGroup的组事件&#xff0c;可以将各自不同的RadioButton&#xff0c;设定与同一个RadioGroup组里的按钮&#xff0c;做出单一选择。 RadioGroup中使用类组单选按钮。如果我们选中一个单选按钮属于一个单选按钮组&#xff0c;它会自动取消选中同一组内的任何先…

HTML基础1:单选框

一.单选框基础 1.基本写法&#xff1a;<input type“radio” / > 2.实现默认选中&#xff0c;使用checked。 3.若存在多个单选框都在一个分组里&#xff0c;要实现同一时间只能选中一个单选框设置name属性相同即可。 4.提交数据到后台时&#xff0c;后台接收的是value设…

Radio单选框

Radio单选框 在一组备选项中进行单选 基础用法 使用Radio组件&#xff0c;只需要设置v-model绑定变量&#xff0c;选中意味着变量的值为相应Radio label属性的值&#xff0c;label可以是string、number或boolean。 <template><el-radio v-model"radio" …

Handler消息机制

1 线程间通信 线程间通信&#xff1a;ITC&#xff0c;Inter-Thread Communication 同一进程中线程与线程之间是共享内存的。对于可以共享的变量任何线程都可以访问和修改&#xff0c;但是要做好同步。 线程之间不会彼此干扰&#xff0c;是因为有内存管理机制。 2 Handler消息…

全面讲解 Handler机制原理解析 (小白必看)

简介 Handler是Android中提供的一种异步回调机制&#xff0c;也可以理解为线程间的消息通信。 为了避免ANR,我们通常会把一些耗时操作&#xff08;比如&#xff1a;网络请求、I/O操作、复杂计算等&#xff09;放到子线程中去执行&#xff0c;而当子线程需要修改UI时则子线程需要…

Android :安卓学习笔记之 Handler机制 的简单理解和使用

Android Handler机制的简单理解和使用 Handler机制1、Handler使用的引出2、背景和定义3、作用和意义4、主要参数5、工作原理及流程5.1、对应关系 6、深入分析 Handler机制源码6.1、Handler机制的核心类6.2、核心方法6.3、方式1&#xff1a;使用 Handler.sendMessage&#xff08…

多线程通信---Handler机制

目录 作者简介&#xff1a; 1. 概述&#xff1a; 1.1 如何把子线程中计算的结果传给主线程&#xff1f; 2.handler异步通信系统 2.1 多线程通信过程 3.代码演示 3.1 子线程部分 3.2 主线程handler部分 3.3 MainActivity代码 3.4 布局代码 4.效果演示 5.拓展 作者简介&a…

android handler的机制原理,Android Handler 机制实现原理分析

handler在安卓开发中是必须掌握的技术&#xff0c;但是很多人都是停留在使用阶段。使用起来很简单&#xff0c;就两个步骤&#xff0c;在主线程重写handler的handleMessage( )方法&#xff0c;在工作线程发送消息。但是&#xff0c;有没有人想过这种技术是怎么实现的呢&#xf…