Java Swing (四)如何使用標籤和按鈕組件(3)如何使用單選按鈕

  • 1、單選按鈕也被稱爲RadioButton,他通過JRadioButton類實現,單選按鈕類似如下圖所示:
    在這裏插入圖片描述
  • 2、單選按鈕的構造器:
    1)JRadioButton():創建一個初始化爲未選擇的單選按鈕,其文本未定義
    2)JRadioButton(Icon icon):創建一個初始化爲未選擇的單選按鈕,其具有指定的圖像但無文本
    3)JRadioButton(Icon icon,boolean selected)創建一個具有指定圖形和選擇狀態的單選按鈕,但無文本
    4)JRadioButton(String text):創建一個具有指定文本的狀態爲未選擇的單選按鈕
    5)JRadioButton(String text,boolean selected):創建一個具有指定文本和選擇狀態的單選按鈕
    6)JRadioButton(String text,Icon icon):創建一個具有指定的文本和圖像並初始化爲未選擇的單選按鈕
    7)JRadioButton(String text,Icon icon,boolean selected):創建一個具有指定的文本,圖像和選擇狀態的單選按鈕
    下面通過代碼演示創建單選按鈕並將單選按鈕添加到內容面板中
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class Example04 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame("測試程序");
		frame.setSize(WIDTH,HEIGHT);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		
		JPanel pane=new JPanel();
		frame.setContentPane(pane);
		
		JRadioButton rbt1=new JRadioButton("忽略"); // 創建三個單選按鈕,並且將他們添加到內容太面板中
		JRadioButton rbt2=new JRadioButton("繼續");
		JRadioButton rbt3=new JRadioButton("跳過");
		pane.add(rbt1);
		pane.add(rbt2);
		pane.add(rbt3);
	}
}

上述代碼運行結果如下:

在這裏插入圖片描述
上述代碼實現的單選按鈕可以都不選或者都選中,顯然不符合實際開發過程中單選按鈕的要求,如果單線按鈕只能選擇一個,這裏需要使用到單選按鈕組的組件,下面代碼將演示開發過程中實際使用的單算按鈕

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class Example05 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame("測試程序");
		frame.setSize(WIDTH,HEIGHT);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		
		JPanel pane=new JPanel();
		frame.setContentPane(pane);
		
		JRadioButton rbt1=new JRadioButton("忽略"); // 創建三個單選按鈕
		JRadioButton rbt2=new JRadioButton("繼續");
		JRadioButton rbt3=new JRadioButton("跳過");
		
		ButtonGroup bg=new ButtonGroup(); // 新建一個按鈕組,將三個單選按鈕添加到按鈕組中
		bg.add(rbt1);
		bg.add(rbt2);
		bg.add(rbt3);
		
		pane.add(rbt1);
		pane.add(rbt2);
		pane.add(rbt3);
	}
}

上述代碼運行結果如下,此時三個選項中同時只可能選擇一個,達到了開發過程中需要單選按鈕的需求
在這裏插入圖片描述
上述代碼實現了單選按鈕,三個單選按鈕同一時間只可能選擇一個,根據功能的複雜度,其實可以設置多個按鈕組,在每個按鈕組中只能選擇一個,下面代碼就演示了三個按鈕組,在每個按鈕組中只可能選擇一個選項

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class Example06 {
	static final int WIDTH=300;
	static final int HEIGHT=200;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame("測試程序");
		frame.setSize(WIDTH,HEIGHT);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		
		JPanel pane=new JPanel();
		frame.setContentPane(pane);
		
		// 創建六個單選框,並且將他們分爲三個按鈕組
		JRadioButton rbt01=new JRadioButton("羽毛球");
		JRadioButton rbt02=new JRadioButton("足球");
		ButtonGroup bg1=new ButtonGroup();
		bg1.add(rbt01);
		bg1.add(rbt02);

		JRadioButton rbt11=new JRadioButton("電腦書");
		JRadioButton rbt12=new JRadioButton("數學書");
		ButtonGroup bg2=new ButtonGroup();
		bg2.add(rbt11);
		bg2.add(rbt12);
		
		JRadioButton rbt21=new JRadioButton("電影");
		JRadioButton rbt22=new JRadioButton("錄像");
		ButtonGroup bg3=new ButtonGroup();
		bg3.add(rbt21);
		bg3.add(rbt22);
		
		pane.add(rbt01);
		pane.add(rbt02);
		pane.add(rbt11);
		pane.add(rbt12);
		pane.add(rbt21);
		pane.add(rbt22);
	}
}

上述的代碼運行結果如下:

在這裏插入圖片描述
上述代碼運行的結果中可以看到,羽毛球和足球只能選擇一個,電腦書和數學書只能選擇一個,電影和錄像只能選擇一個

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