package cn.itcast.view;(6)


import cn.itcast.dao.UserDao;

import cn.itcast.dao.impl.UserDaoImpl;

import cn.itcast.pojo.User;

import cn.itcast.util.UiUtil;

import javax.swing.JOptionPane;



public class RegistFrame extends javax.swing.JFrame {


    /**

     * Creates new form LoginFrame

     */

    public RegistFrame() {

        initComponents();

        init();

    }


    private void init() {

        this.setTitle("注册界面");

        this.setResizable(false);

        UiUtil.setFrameCenter(this);

        UiUtil.setFrameImage(this,"user.jpg");

    }


    /**

     * This method is called from within the constructor to initialize the form.

     * WARNING: Do NOT modify this code. The content of this method is always

     * regenerated by the Form Editor.

     */

    @SuppressWarnings("unchecked")

    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

    private void initComponents() {


        jLabel1 = new javax.swing.JLabel();

        jLabel2 = new javax.swing.JLabel();

        jtfUsername = new javax.swing.JTextField();

        jpfPassword = new javax.swing.JPasswordField();

        jButton1 = new javax.swing.JButton();

        jButton3 = new javax.swing.JButton();


        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


        jLabel1.setText("用户名:");


        jLabel2.setText("密码:");


        jButton1.setText("取消");

        jButton1.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton1ActionPerformed(evt);

            }

        });


        jButton3.setText("注册");

        jButton3.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton3ActionPerformed(evt);

            }

        });


        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addGap(42, 42, 42)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addGroup(layout.createSequentialGroup()

                        .addComponent(jButton3)

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                        .addComponent(jButton1)

                        .addGap(72, 72, 72))

                    .addGroup(layout.createSequentialGroup()

                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                            .addComponent(jLabel1)

                            .addComponent(jLabel2))

                        .addGap(18, 18, 18)

                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                            .addComponent(jtfUsername, javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)

                            .addComponent(jpfPassword))

                        .addContainerGap(61, Short.MAX_VALUE))))

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addGap(47, 47, 47)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel1)

                    .addComponent(jtfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(31, 31, 31)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel2)

                    .addComponent(jpfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 52, Short.MAX_VALUE)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jButton3)

                    .addComponent(jButton1))

                .addGap(50, 50, 50))

        );


        pack();

    }// </editor-fold>//GEN-END:initComponents


    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

       goLogin();

    }//GEN-LAST:event_jButton1ActionPerformed


    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed

        /*

        分析:

        A:获取用户名和密码

        B:用正则表达式做数据校验

        C:封装成用户对象

        D:调用用户操作的功能进行注册

        E:回到登录界面

        */

        //获取用户名和密码

        String username = this.jtfUsername.getText().trim();

        String password = this.jpfPassword.getText().trim();


        //用正则表达式做数据校验

        //定义规则

        //用户名规则

        String usernameRegex = "[a-zA-z]{5}";

        //密码规则

        String passwordRegex = "\\w{6,12}";


        //校验

        if(!username.matches(usernameRegex)) {

            JOptionPane.showMessageDialog(this, "用户名不满足条件(5个英文字母组成)");

            this.jtfUsername.setText("");

            this.jtfUsername.requestFocus();

            return;

        }


         if(!password.matches(passwordRegex)) {

            JOptionPane.showMessageDialog(this, "密码不满足条件(6-12个任意单词字符)");

            this.jpfPassword.setText("");

            this.jpfPassword.requestFocus();

            return;

        }


         //封装成用户对象

         User user = new User();

         user.setUsername(username);

         user.setPassword(password);


         //调用用户操作的功能进行注册

         UserDao ud = new UserDaoImpl();

         ud.regist(user);


         //给出提示

          JOptionPane.showMessageDialog(this, "用户注册成功,回到登录界面");


          goLogin();

    }//GEN-LAST:event_jButton3ActionPerformed


    private void goLogin() {

        LoginFrame lf = new LoginFrame();

       lf.setVisible(true);

       this.dispose();

    }


    /**

     * @param args the command line arguments

     */

//    public static void main(String args[]) {

//        /* Set the Nimbus look and feel */

//        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

//        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

//         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 

//         */

//        try {

//            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

//                if ("Nimbus".equals(info.getName())) {

//                    javax.swing.UIManager.setLookAndFeel(info.getClassName());

//                    break;

//                }

//            }

//        } catch (ClassNotFoundException ex) {

//            java.util.logging.Logger.getLogger(RegistFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//        } catch (InstantiationException ex) {

//            java.util.logging.Logger.getLogger(RegistFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//        } catch (IllegalAccessException ex) {

//            java.util.logging.Logger.getLogger(RegistFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//        } catch (javax.swing.UnsupportedLookAndFeelException ex) {

//            java.util.logging.Logger.getLogger(RegistFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//        }

//        //</editor-fold>

//

//        /* Create and display the form */

//        java.awt.EventQueue.invokeLater(new Runnable() {

//            public void run() {

//                new RegistFrame().setVisible(true);

//            }

//        });

//    }


    // Variables declaration - do not modify//GEN-BEGIN:variables

    private javax.swing.JButton jButton1;

    private javax.swing.JButton jButton3;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JPasswordField jpfPassword;

    private javax.swing.JTextField jtfUsername;

    // End of variables declaration//GEN-END:variables

}

你需要的是什么,直接评论留言。

获取更多资源加微信公众号“Java帮帮” (是公众号,不是微信好友哦)

还有“Java帮帮”今日头条号,技术文章与新闻,每日更新,欢迎阅读

学习交流请加Java帮帮交流QQ群553841695

分享是一种美德,分享更快乐!

Java基础-25(05)图形用户界面编程GUI_java