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