отправить через форму, и я получаю ошибку java .lang.null указатель ошибка - PullRequest
0 голосов
/ 10 апреля 2020

Добавлены компоненты свинга через перетаскивание для создания формы регистрации. Я объявил поля как частные, поэтому используются методы получения и установки. Я создал класс, чтобы установить sh соединение

public class frmnewaccountuser extends javax.swing.JFrame 
    {   
           //class fields
            private String fname;
            private String lname;
            private String uname;
            private String pass;
            private String cpass;
            Connection conn;

Единственный конструктор класса

public frmnewaccountuser(){
             initComponents();
             conn = connection.getconnection();
            } 

Получатели и установщики

public void setfname(String firstname)
        { 
            fname=firstname;
        }
        public String getfname()
        {  
            return fname;
        }
        public void setlname(String lastname)
        {
            lname=lastname;
        }
         public String getlname()
        {
            return lname;
        }
         public void setuname(String username)
        {
            uname=username;
        }
        public String getuname()
        {
            return uname;
        }
        public void pass(String password)
        {
            pass=password;
        }
        public String getpass()
        {
             return pass;       
        }
        public void cpass(String confirm_pass)
        {
            cpass=confirm_pass;
        }
        public String getcpass()
        {
            return cpass;
        }

Код кнопки регистрации. Когда я запускаю код, появляется форма, я заполняю необходимые данные, но получаю исключение нулевого указателя.

private void cmd_registernewuserActionPerformed(java.awt.event.ActionEvent evt) {                                                    
    fname = txtfname.getText();
    lname = txtlname.getText();
    uname = txtuname.getText();
    pass = txtpass.getText();
    cpass = txtcpass.getText();
     String sql= " INSERT INTO newuser (fname, lname, uname, pass, cpass)"
    + " VALUES (?, ?, ?, ?, ?)";
    if(fname.isEmpty()||lname.isEmpty()||uname.isEmpty()||pass.isEmpty()||cpass.isEmpty())
    {
        JOptionPane.showMessageDialog(null, "Please fill in the empty fields", "EMPTY FIELDS", JOptionPane.INFORMATION_MESSAGE);
    }
    else if(pass.length()<6)
    { 
    JOptionPane.showMessageDialog(null, "Your password must have atleast 6 characters");
    }
    else if(!cpass.equals(pass))
    {
        JOptionPane.showMessageDialog(null, "Please retype your password again");
    }
    else
    {  
        try {
            PreparedStatement pst = conn.prepareStatement(sql);
            pst.setString(1, fname);
            pst.setString(2, lname);
            pst.setString(3, uname);
            pst.setString(4, pass);
            pst.setString(5, cpass);
            pst.executeQuery();
            JOptionPane.showMessageDialog(null, "Data inserted successfully");
             connection.getconnection().close();
        } catch (SQLException ex) {
            Logger.getLogger(frmnewaccountuser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}   

Поток остановлен на frmnewaccountuser frm = new frmnewaccountuser ();

public static void main(String args[])
    {
      frmnewaccountuser frm = new frmnewaccountuser();**//thread stopped at this line**
       frm.setVisible(true);
    }                
}
...