为什么要用这两个组件?
当我们提供用户注册界面的时候,常常会用到:
复选框组件(JCheckBox)
单选框组件(JRadioButton)
介绍两个组件:
复选框组件(JCheckBox):可以多选的选择框
单选框组件(JRadioButton):只能单选的选择框
注意事项:
同一组单选按钮必须先创建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); //设置界面可视化 } }
欢迎各位在评论区留言探讨~~