0

I have a "Save Button" for a form with the following code. On click, the data in the text boxes should be saved to the database. The button also contains a try..catch block to handle resource clean up to prevent a lock out.

 private void saveBtnActionPerformed(java.awt.event.ActionEvent evt) {                                        

    String user = usernameText.getText();
    String pass = passwordField.getText();
    String pass2 = confirmPasswordField.getText();
    String job = jobBox.getSelectedItem().toString();

   try{
       if (pass2.equals(pass)) {

            rs.moveToInsertRow();

            rs.updateString("username", user);
            rs.updateString("password", pass);
            rs.updateString("jobtitle", job);

            rs.insertRow();

            JOptionPane.showMessageDialog(this, "New Record Has Been Added!");

       }

       else {
            JOptionPane.showMessageDialog(this, "Your passwords do not match");


            this.dispose();

            newEmployeeFrame a = new newEmployeeFrame();
            a.setVisible(true);

        }

   }
   catch(SQLException err){

   }
   finally{
       try{
        rs.close();
        stmt.close();
        this.dispose();

        newEmployeeFrame a = new newEmployeeFrame();
        a.setVisible(true);
        }

        catch(Exception e){
            //try-catch block to encapsulate finally block for resource closing
            //to prevent lock obtain error
        }

when I click it, i get these error messages:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at newEmployeeFrame.saveBtnActionPerformed(newEmployeeFrame.java:195)
at newEmployeeFrame.access$100(newEmployeeFrame.java:19)
at newEmployeeFrame$2.actionPerformed(newEmployeeFrame.java:76)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
BUILD SUCCESSFUL (total time: 13 seconds)

Please Help.. Thankks!

  • The heuristic for NullPointerExceptions is almost always the same: You should critically read your exception's stacktrace to find the line of code at fault, the line that throws the exception, and then inspect that line carefully, find out which variable is null, and then trace back into your code to see why. You will run into these again and again, trust me. – Hovercraft Full Of Eels May 07 '16 at 21:55
  • Note that your line of interest is this one: `newEmployeeFrame.java:195`. Also note that those empty exception catch blocks will bite you in the end, and have no place in your program. – Hovercraft Full Of Eels May 07 '16 at 21:56

0 Answers0