Swing--JRadioButton单选按钮组件

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 按钮组中的其他单选按钮的选中状态被取消

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章