天天看點

JavaGUI——swing元件基礎(三)單選框和複選框

為什麼要用這兩個元件?

當我們提供使用者注冊界面的時候,常常會用到:

複選框元件(JCheckBox)

單選框元件(JRadioButton)

介紹兩個元件:

複選框元件(JCheckBox):可以多選的選擇框

單選框元件(JRadioButton):隻能單選的選擇框

JavaGUI——swing元件基礎(三)單選框和複選框

注意事項:

同一組單選按鈕必須先建立ButtonGroup,然後把單選框元件放入到ButtonGroup中,才能在面闆添加單選框。

代碼實作:

思路:根據這個界面的整體布局,确定為三行一列的網格布局,往三個面闆中添加相應元件。

import java.awt.*;		//導包
import javax.swing.*;	
public class Swing_JCheckBox extends JFrame {	//繼承JFrame頂級容器類
	
	//定義元件
	JPanel jp1,jp2,jp3;			//定義面闆元件
	JLabel jlb1,jlb2;			//定義标簽元件
	JButton jb1,jb2;			//定義按鈕元件
	JCheckBox jcb1,jcb2,jcb3;	//定義多選框元件
	JRadioButton jrb1,jrb2;		//定義單選框元件
	ButtonGroup bg;				//定義按鈕組(注意這個不是元件,它是個作用域,我隻是把它定義在這裡而已)
	public static void main(String[] args) {
		Swing_JCheckBox a=new Swing_JCheckBox();	//顯示界面

	}
	public Swing_JCheckBox()
	{
		//建立元件
		jp1=new JPanel();	//建立面闆
		jp2=new JPanel();
		jp3=new JPanel();
		jb1=new JButton("注冊使用者");		//建立按鈕
		jb2=new JButton("取消注冊");
		jlb1=new JLabel("你最喜歡的運動");	//建立标簽
		jlb2=new JLabel("你的性别");
		jcb1=new JCheckBox("足球");			//建立複選框
		jcb2=new JCheckBox("藍球");
		jcb3=new JCheckBox("網球");
		jrb1=new JRadioButton("男");			//建立單選框
		jrb2=new JRadioButton("女");
		bg=new ButtonGroup();				//建立按鈕組
		
		//設定布局管理器
		this.setLayout(new GridLayout(3,1));	//三行一列網格布局
		
		//添加元件
		this.add(jp1);			//添加三個面闆
		this.add(jp2);
		this.add(jp3);
		
		jp1.add(jlb1);			//添加面闆1的元件
		jp1.add(jcb1);
		jp1.add(jcb2);
		jp1.add(jcb3);
		
		jp2.add(jlb2);			//添加面闆2的元件	
		bg.add(jrb1);			//必須要把單選框放入按鈕組作用域中才能實作單選!!!!
		bg.add(jrb2);
		jp2.add(jrb1);
		jp2.add(jrb2);
		
		jp3.add(jb1);			//添加面闆3的元件
		jp3.add(jb2);
		
		//設定窗體屬性
		this.setTitle("使用者注冊界面");		//設定界面标題
		this.setSize(350, 150);				//設定界面像素
		this.setLocation(200, 200);			//設定界面初始位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	//設定虛拟機和界面一同關閉
		this.setVisible(true);				//設定界面可視化
	}
}
           

歡迎各位在評論區留言探讨~~