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 按鈕組中的其他單選按鈕的選中狀態被取消

在這裏插入圖片描述

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