JRadioButton单选按钮组件
- 默认情况下,单选按钮显示一个圆形图标,并且在图标旁边放置一些说明性文字
- 在应用程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮表现出某种功能,当用户选中某个单选按钮后,按钮组中其它按钮自动被取消
- JRadioButton通常位于一个ButtonGroup按钮组中,不在按钮组中的JRadioButton也失去了单选按钮的意义
- 在同一个 ButtonGroup 按钮组中的单选按钮,只能有一个单选按钮被选中。因此,如果创建的多个单选按钮其初始状态都是选中状态,则最先加入 ButtonGroup 按钮组的单选按钮的选中状态被保留,其后加入到 ButtonGroup 按钮组中的其他单选按钮的选中状态被取消
JRadioButton构造方法
- JRadioButton():创建一个初始化为未选择的单选按钮,其文本未设定
- JRadioButton(Icon icon):创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本
- JRadioButton(Icon icon,boolean selected):创建一个具有指定图像和选择状态的单选按钮,但无文本
- JRadioButton(String text):创建一个具有指定文本但未选择的单选按钮
- JRadioButton(String text,boolean selected):创建一个具有指定文本和选择状态的单选按钮
- JRadioButton(String text,Icon icon):创建一个具有指定的文本和图像并初始化为未选择的单选按钮
- JRadioButton(String text,Icon icon,boolean selected):创建一个具有指定的文本、图像和选择状态的单选按钮
Demo01
import javax.swing.*;
import java.awt.*;
public class DemoJRadioButton {
public static void main(String[] args) {
JFrame jFrame = new JFrame("单选按钮组件示例");
Container container = jFrame.getContentPane();
JPanel jPanel = new JPanel();
JLabel jLabel = new JLabel("现在是哪个季节:");
//设置Jlabel标签组件的字体样式
jLabel.setFont(new Font("楷体",Font.BOLD,16));
//创建单选按钮组件
JRadioButton r1 = new JRadioButton("春天");
JRadioButton r2 = new JRadioButton("夏天");
JRadioButton r3 = new JRadioButton("秋天");
JRadioButton r4 = new JRadioButton("冬天");
ButtonGroup buttonGroup = new ButtonGroup();
//将单选按钮组件添加进ButtonGroup
buttonGroup.add(r1);
buttonGroup.add(r2);
buttonGroup.add(r3);
buttonGroup.add(r4);
//将组件添加进容器
container.add(jPanel);
jPanel.add(jLabel);
jPanel.add(r1);
jPanel.add(r2);
jPanel.add(r3);
jPanel.add(r4);
//设置窗体
jFrame.setVisible(true);
jFrame.setSize(400,200);
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
Demo01运行结果如下
Demo02
import javax.swing.*;
import java.awt.*;
public class DemoJRadioButton {
public static void main(String[] args) {
JFrame jFrame = new JFrame("单选按钮组件示例");
Container container = jFrame.getContentPane();
JPanel jPanel = new JPanel();
JLabel jLabel = new JLabel("现在是哪个季节:");
//设置Jlabel标签组件的字体样式
jLabel.setFont(new Font("楷体",Font.BOLD,16));
//创建单选按钮组件
JRadioButton r1 = new JRadioButton("春天");
JRadioButton r2 = new JRadioButton("夏天",true);
JRadioButton r3 = new JRadioButton("秋天",true);
JRadioButton r4 = new JRadioButton("冬天");
ButtonGroup buttonGroup = new ButtonGroup();
//将单选按钮组件添加进ButtonGroup
buttonGroup.add(r1);
buttonGroup.add(r2);
buttonGroup.add(r3);
buttonGroup.add(r4);
//将组件添加进容器
container.add(jPanel);
jPanel.add(jLabel);
jPanel.add(r1);
jPanel.add(r2);
jPanel.add(r3);
jPanel.add(r4);
//设置窗体
jFrame.setVisible(true);
jFrame.setSize(400,200);
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
Demo02运行结果如下
- 单选按钮夏天和秋天初始都是被选中状态,但只有夏天单选按钮被保留
- 在同一个 ButtonGroup 按钮组中的单选按钮,只能有一个单选按钮被选中。因此,如果创建的多个单选按钮其初始状态都是选中状态,则最先加入 ButtonGroup 按钮组的单选按钮的选中状态被保留,其后加入到 ButtonGroup 按钮组中的其他单选按钮的选中状态被取消