主要应用单选框与输入框,及连接数据库。

package com.gui;
import java.awt.*;
 
import javax.swing.*;
import javax.swing.plaf.ButtonUI;
 
import com.DateSystem.Userdate;
 
import java.awt.event.*;
import java.sql.*;
public class Register extends JFrame implements ActionListener,KeyListener ,FocusListener{
    //注册组件
    JLabel lbl_name,lbl_password,lbl_repassword,lbl_sex,lbl_id;//用户名,密码标签
    JLabel lbl_post,lbl_phon,lbl_email,lbl_address;//地址之类的标签
    JLabel lbl_name_tishi,lbl_password_tishi,lbl_repassword_tishi,lbl_sex_tishi,lbl_id_tishi;//提示标签
     
    JTextField text_name,text_id,text_post,text_phon,text_email,text_address;//输入文本框
    JPasswordField password,repassword;//密码的输入文本框
    CheckboxGroup group ;
    Checkbox sex_m;
    Checkbox sex_w;
     
    //JRadioButton sex_m,sex_w;
    //ButtonGroup bg = new ButtonGroup();//分组用来制作单选框
    JButton button_submit,button_exit;//按钮
     
    JPanel jPanel;//装载容器
     
     
    public Register() {
        super("用户注册");
        //标签组建的初始化
        //用户基本信息
        lbl_name = new JLabel("用  户  名:");
        lbl_password = new JLabel("密        码:");
        lbl_repassword = new JLabel("确认密码:");       
        lbl_sex = new JLabel("性        别:");
        lbl_id = new JLabel("身份证号:");
        //详细信息
        lbl_post = new JLabel("职       位:");
        lbl_phon = new JLabel("手  机  号:");
        lbl_email = new JLabel("E — mail:");
        lbl_address = new JLabel("住       址:");
        //提示信息
        lbl_name_tishi = new JLabel("请输入您的真实姓名!");
        lbl_password_tishi = new JLabel("请输入密码!");
        lbl_repassword_tishi = new JLabel("两次输入不一样,请重新输入!");
        lbl_sex_tishi=new JLabel("请选择性别!");
        lbl_id_tishi=new JLabel("请填写您的身份证号!");
         
        //输入框组件的初始化
        //基本信息输入框
        text_name = new JTextField();
        password = new JPasswordField();
        repassword = new JPasswordField();
        //详细信息输入框
        text_id = new JTextField();
        text_post = new JTextField();
        text_phon = new JTextField();
        text_email = new JTextField();
        text_address = new JTextField();
        //性别组件
         
        group = new CheckboxGroup();
        sex_m = new Checkbox("男",group,true);
        sex_w = new Checkbox("女",group,false);
         
         
         
        //按钮组件的初始化
        button_submit = new JButton("提交");
        button_exit = new JButton("取消");
         
        //设置字体,自号
        Font font = new Font("Serif",Font.BOLD,18);
         
        //向容器添加组件
        jPanel = new JPanel();//创建容器
        jPanel.setLayout(null);
        //设置组件布局,我这里用的是坐标,因为这样界面会整齐些
        lbl_name.setBounds(50, 50,90,20);
        lbl_password.setBounds(50,80,90,20);
        lbl_repassword.setBounds(50,110,90,20);
        lbl_sex.setBounds(50,140,90,20);
        lbl_id.setBounds(50,170,90, 20);
        lbl_post.setBounds(50, 230, 90, 20);
        lbl_phon.setBounds(50, 260, 90, 20);
        lbl_email.setBounds(50, 290, 90, 20);
        lbl_address.setBounds(50,320,90,20);
     
        //输入框组件的添加
        text_name.setBounds(150, 50,200,20);
        password.setBounds(150,80,200,20);
        repassword.setBounds(150,110,200,20);
         
        sex_m.setBounds(170,140,40,20);//性别选择框
        sex_w.setBounds(270, 140,40,20);
         
        text_id.setBounds(150,170,200,20);
        text_post.setBounds(150, 230, 200, 20);
        text_phon.setBounds(150,260,200,20);
        text_email.setBounds(150,290,200,20);
        text_address.setBounds(150,320,200,20);
         
         
        button_submit.setBounds(150,370,90,30);
        button_exit.setBounds(300,370,90,30);
         
        //提示组件添加
        //lbl_name_tishi.setBounds(360, 50,200,20);
        //lbl_password_tishi.setBounds(360,80,200,20);
        //lbl_repassword_tishi.setBounds(360,110,200,20);
         
         
         
        lbl_name.setFont(font);
        lbl_password.setFont(font);
        lbl_repassword.setFont(font);
        lbl_sex.setFont(font);
        lbl_id.setFont(font);
        lbl_post.setFont(font);
        lbl_phon.setFont(font);
        lbl_address.setFont(font);
        lbl_email.setFont(font);
         
         
         
        jPanel.add(lbl_name);
        jPanel.add(lbl_password);
        jPanel.add(lbl_repassword);
        jPanel.add(lbl_sex);
        jPanel.add(lbl_id);
        jPanel.add(lbl_post);
        jPanel.add(lbl_phon);
        jPanel.add(lbl_email);
        jPanel.add(lbl_address);
         
        jPanel.add(text_name);
        jPanel.add(password);
        jPanel.add(repassword);
         
         
        /*ButtonGroup不需要加入JPanel里面
ButtonGroup用于为一组按钮创建一个多斥(multiple-exclusion)作用域。使用相同的 ButtonGroup 对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中的其他所有按钮。 
你只需要定义一个ButtonGroup,然后将button加入其中,至于加入的这些button在不在同一个JPanel里都是可以的。 
ButtonGroup并不能算是一个装载的容器*/      
        jPanel.add(sex_m);
        jPanel.add(sex_w);
         
         
        jPanel.add(text_id);
        jPanel.add(text_post);
        jPanel.add(text_phon);
        jPanel.add(text_email);
        jPanel.add(text_address);
         
        jPanel.add(button_submit);
        jPanel.add(button_exit);
         
        jPanel.add(lbl_name_tishi);
        jPanel.add(lbl_password_tishi);
        jPanel.add(lbl_repassword_tishi);
        jPanel.add(lbl_sex_tishi);
        jPanel.add(lbl_id_tishi);
        add(jPanel);
         
        //注册监听
        //sex_m.addItemListener(this);
        //sex_w.addItemListener(this);
         
        button_exit.addActionListener(this);
        button_submit.addActionListener(this);
         
        //文本框焦点事件监听
        text_name.addFocusListener(this);
        password.addFocusListener(this);
        repassword.addFocusListener(this);
        text_id.addFocusListener(this);
         
    }
     
     
     
     
     
     
     
     
     
    public static void main(String[] args) {
        Register register = new Register();
        register.setSize(600, 470);
        register.setLocationRelativeTo(null);
        register.setVisible(true);
        register.setResizable(false);
        //register.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
 
    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub
         
    }
     
    @Override
    //文本框焦点事件处理
    public void focusGained(FocusEvent e) {
        // TODO Auto-generated method stub
         
         
         
    }
 
    @Override
    public void focusLost(FocusEvent e) {
        // TODO Auto-generated method stub
        String nameString=text_name.getText().trim();   
        String pass=String.valueOf(password.getPassword());
        String repass=String.valueOf(repassword.getPassword());
        String idString=text_id.getText();
         
        if (e.getSource()==text_name) {
            if (nameString.equals("")) {
                System.out.println("用户名为空");
                lbl_name_tishi.setText("o(︶︿︶)o唉!用户名不能为空!");
                lbl_name_tishi.setBounds(360, 50,200,20);           
                lbl_name_tishi.setForeground(Color.red);
                 
            }else {
                lbl_name_tishi.setText("o(≧v≦)o~~好棒");
                lbl_name_tishi.setBounds(360, 50,200,20);   
                lbl_name_tishi.setForeground(Color.green);
            }           
        }
        if (e.getSource()==password) {
            if (pass.equals("")) {
                System.out.println("密码为空");
                lbl_password_tishi.setText("o(︶︿︶)o唉!密码不能为空!");
                lbl_password_tishi.setBounds(360,80,200,20);            
                lbl_password_tishi.setForeground(Color.red);        
            }else {
                lbl_password_tishi.setText("o(≧v≦)o~~好棒");
                lbl_password_tishi.setBounds(360,80,200,20);
                lbl_password_tishi.setForeground(Color.green);  
            }   
        }
        if (e.getSource()==repassword) {
            if (!repass.equals(pass)||repass.equals("")) {
                System.out.println("o(︶︿︶)o唉!两次密码不一致,请重新输入");
                lbl_repassword_tishi.setText("o(︶︿︶)o唉!两次不一样!");
                lbl_repassword_tishi.setBounds(360,110,200,20);         
                lbl_repassword_tishi.setForeground(Color.red);      
            }else {
                lbl_repassword_tishi.setText("o(≧v≦)o~~好棒");
                lbl_repassword_tishi.setBounds(360,110,200,20);
                lbl_repassword_tishi.setForeground(Color.green);    
            }   
        }   
        if (e.getSource()==text_id) {
            if (idString.equals("")) {
                System.out.println("o(︶︿︶)o唉!两次密码不一致,请重新输入");
                lbl_id_tishi.setText("o(︶︿︶)o唉!身份证号不能为空!");
                lbl_id_tishi.setBounds(360,170,200,20);         
                lbl_id_tishi.setForeground(Color.red);      
            }else {
                lbl_id_tishi.setText("o(≧v≦)o~~好棒");
                lbl_id_tishi.setBounds(360,170,200,20);
                lbl_id_tishi.setForeground(Color.green);    
            }   
        }   
         
    }   
     
     
 
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        String btnstring = e.getActionCommand();
        if (btnstring.equals("提交")) {
            //System.out.println("提交");
             
            String nameString=text_name.getText().trim();
            String pass=String.valueOf(password.getPassword());
            String repass=String.valueOf(repassword.getPassword());
             
            String sexString=group.getSelectedCheckbox().getLabel();
            String idString=text_id.getText();
             
            String post=text_post.getText();
            String phon=text_phon.getText();
            String e_mail=text_email.getText();
            String address=text_address.getText();                          
             
            if (!nameString.equals("") && !pass.equals("") && pass.equals(repass) && !idString.equals("")) {
                System.out.println("提交");
                String sql=
                        "insert into userdata values("+
                                "'"+nameString+"',"+
                                "'"+pass+"',"+
                                "'"+sexString+"',"+
                                "'"+idString+"',"+
                                "'"+post+"',"+
                                "'"+phon+"',"+
                                "'"+e_mail+"',"+
                                "'"+address+"'"+
                                ")";
                                 
                System.out.println(sql);
                Userdate userdate=new Userdate();
                boolean flag = userdate.updataUser(sql);
                if (flag) {
                    JOptionPane.showMessageDialog(this, "注册成功!");
                     
                    this.dispose();
                }
            }           
        }else {
            System.out.println("取消");
            this.dispose();
        }   
         
    }
}