Добавлены компоненты свинга через перетаскивание для создания формы регистрации. Я объявил поля как частные, поэтому используются методы получения и установки. Я создал класс, чтобы установить 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);
}
}