為什麼要用這兩個元件?
當我們提供使用者注冊界面的時候,常常會用到:
複選框元件(JCheckBox)
單選框元件(JRadioButton)
介紹兩個元件:
複選框元件(JCheckBox):可以多選的選擇框
單選框元件(JRadioButton):隻能單選的選擇框
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPB1UejpnTwkkaNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM0UTNzgTMyEDOyUDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
注意事項:
同一組單選按鈕必須先建立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); //設定界面可視化
}
}
歡迎各位在評論區留言探讨~~