Java Swing-ButtonGroup
在Java Swing中,RadioButton是一个很常用的组件,在使用RadioButton时候,如何知道一组RadioButton是属于一组的呢?只有在同一个按钮组中,多个RadioButton才是互斥的,因此,RadioButton类常常搭配ButtonGroup类一同使用,经常会搭配ButtonGroup使用,例如:
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JTextField;public class ButtonGroupText extends JFrame implements ActionListener {public JRadioButton JrbtnMale,JrbtnFemale;public ButtonGroup Bg;public JTextField JtfShow;public ButtonGroupText() {// TODO Auto-generated constructor stubsuper("ButtonGroup的使用");this.setBounds(400, 400, 400, 200);this.setBackground(Color.lightGray);this.setLayout(new FlowLayout());JrbtnMale=new JRadioButton("男");JrbtnFemale=new JRadioButton("女"); //JRadioButton的对象实例化Bg=new ButtonGroup(); //这里注意,ButtonGroup并不是组件,所以不用add进Frame中Bg.add(JrbtnFemale); //为ButtonGroup添加进一组JRadioButtonBg.add(JrbtnMale);this.add(JrbtnFemale); this.add(JrbtnMale);JrbtnFemale.addActionListener(this); //注册时间监听器事件JrbtnMale.addActionListener(this);this.add(JtfShow=new JTextField(10));this.setVisible(true);
}@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(arg0.getActionCommand().equals("男")){ //接收动作并显示在文本框中JtfShow.setText("选择了“男");}else {JtfShow.setText("选择了”女");}}public static void main(String[] args) {// TODO Auto-generated method stubButtonGroupText example=new ButtonGroupText();}
}
完成的效果如下:
这里要注意一点,ButtonGroup并不是组件,所以不用使用add方法添加进窗体中,如何判断选择了哪一个RadioButton,在这里使用的是GetActionCommand(),获取动作发生组件的内容来比较,本来觉得应该用更简单的方法获取,但是Java中ButtonGroup并没有提供直接获取选中值的方法,ButtonGroup的全部方法如下:
void add(AbstractButton b)———–将按钮添加到组中。
void clearSelection()————清除选中内容,从而没有选择 ButtonGroup 中的任何按钮。
int getButtonCount()———返回此组中的按钮数。
Enumeration getElements()———返回此组中的所有按钮。
ButtonModel getSelection()———返回选择按钮的模型。
boolean isSelected(ButtonModel m)———返回对是否已选择一个 ButtonModel 的判断。
void remove(AbstractButton b)——–从组中移除按钮。
void setSelected(ButtonModel m, boolean b)——为 ButtonModel 设置选择值。
所以只好使用if-else进行逐个的判断了,不过好在一般使用RadioButton的选项并不多,如果找到了更好的方法再更新~(~o ̄▽ ̄)~
Java Swing-ButtonGroup相关推荐
- java buttongroup方框_「buttongroup」关于Java Swing ButtonGroup获取用法 - seo实验室
buttongroup 简单事例代码: Jradiobuttonb1 = new JRadioButton("b1"); JRadioButtonb2 = new JRadioBu ...
- 关于Java Swing ButtonGroup获取用法
简单事例代码: JRadioButtonb1 = new JRadioButton("b1"); JRadioButtonb2 = new JRadioButton("b ...
- java swing 例子(一些)
码码: package swing1;import javax.swing.JFrame; import javax.swing.WindowConstants; public class Empty ...
- 18、Java Swing JMenu和JPopupMenu:菜单和弹出式菜单
菜单由 Swing 中的 JMenu 类实现,可以包含多个菜单项和带分隔符的菜单. 在菜单中,菜单项由 JMenuItem 类表示,分隔符由 JSeparator 类表示. 菜单本质上是带有关联 JP ...
- 9、Java Swing JRadioButton:单选按钮组件
单选按钮与复选框类似都有两种状态,不同的是一组单选按钮中只能有一个处于选中状态. Swing 中 JRadioButton 类实现单选按钮,它与 JCheckBox 一样都是从 JToggleButt ...
- java swing单选按钮点击事件_java Swing中点击不同单选按钮JPanel中部分区域进行改变,如何实现?。。急啊!...
展开全部 public class NewJFrame extends javax.swing.JFrame { /** Creates new form NewJFrame */ public Ne ...
- java swing 组件技术(上)
2019独角兽企业重金招聘Python工程师标准>>> 第一次写自己的博客,明知道写得很水,还是努力去写了,希望踏出第一步之后,能有着更好的发展.这几天看了一些资料,总结了一下自己所 ...
- JAVA Swing 组件演示***
下面是Swing组件的演示: package a_swing;import java.awt.BorderLayout; import java.awt.Color; import java.awt. ...
- java radio 不可选_在Java Swing中取消选择RadioButtons
当显示一组JRadioButton时,最初没有选择任何一个(除非您以编程方式强制执行).我想要能够将按钮恢复到该状态,即使在用户已经选择了一个之后,即,不应该选择任何按钮. 然而,使用通常的嫌疑不会提 ...
- 基于java+swing+mysql+JFeeChart的企业人力资源管理系统(1)
文章目录 一,前言 二,项目运行图 (1)主界面(管理员界面) (2)员工资料运行图 (3)全部员工查看运行图 (4)部门管理运行图 (5)岗位管理运行图 (6)工资发放系统运行图 (7)薪酬记录运行 ...
最新文章
- transfer 全平台Windows linux mac配置文件转换工具
- 使用Jenkins时,如果GIT_COMMIT无变化,跳过构建
- php radio样式美化,微信小程序修改radio组件默认样式
- 【英语学习】【Level 07】U06 First Time L6 Not your typical experience
- 快速学会php视频,PHP视频从入门到精通---适合PHP初学者
- linux 释放进程res_linux下查询进程占用的内存方法总结
- RabbitMQ 开启WEB管理
- 北大计算机基础与应用,北大16秋《计算机基础与应用-第六组》在线作业
- pythonmax函数原理_Softmax函数原理及Python实现
- mysql in range_mysql 的 RANGE 分区有价值吗?
- libyuv 海思平台编译测试
- 优酷 DSP 广告投放系统架构实践
- excel 第3讲:查找、替换与定位
- 微信小程序实现类似微信提现、支付宝提现充值等 “自定义键盘“可实现自定义右下角搜索内容,手写input功能view组件,实现焦点获取事件
- Nanopore 纳米孔 测序数据处理 微生物 16S全长 Centrifuge的安装和使用
- 【微信小程序】引用echarts 在真机上预览图表模糊的解决办法
- 二手书店APP软件开发定制
- 转:杰克·韦尔奇:我的生命应该如何度过?
- 闲话虚拟仪器开发历史
- Mysql中INSTANT使用