What the wrong with my program?
<p>It shows this error....Exception in thread "AWT-EventQueue-0" </p>

<pre><code>java.lang.NumberFormatException: empty String
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:992)
</code></pre>

<p>My code is:</p>

<pre><code>private void cmdsubmitActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        String d2  = ((JTextField)birthdate.getDateEditor().getUiComponent()).getText();
        String d1 = ((JTextField)datechooser.getDateEditor().getUiComponent()).getText();
        Double interest =Double.parseDouble(txtinterest.getText());
        Double amount =Double.parseDouble(txtamount.getText());
        Double month = Double.parseDouble(txtmonths.getText());

        lblhidden.setText(d2);
        lblhidden2.setText(d1);
        try {
            if(txtfname.getText().trim().isEmpty() || txtlname.getText().trim().isEmpty() || txtaddress.getText().trim().isEmpty() ||txtoccupation.getText().trim().isEmpty() ||txtemailadd.getText().trim().isEmpty() || txtcontact.getText().trim().isEmpty() ||txtamount.getText().trim().isEmpty() ||txtmonths.getText().trim().isEmpty() ||txtinterest.getText().trim().isEmpty() ||lblhidden2.getText().trim().isEmpty() || lblhidden.getText().trim().isEmpty() || cmbgender.getSelectedIndex()==0 || cmbstatus.getSelectedIndex()==0 || cmbincome.getSelectedIndex()==0 || cmbpurpose.getSelectedIndex()==0 || txtyears.getText().trim().isEmpty()){
             JOptionPane.showMessageDialog(null, "Missing field");

            if(txtfname.getText().trim().isEmpty()){

                lblfname.setText("*");
                lblfname.setForeground(Color.red);
            }
            else{
            lblfname.setText(" ");
            }
                if(txtlname.getText().trim().isEmpty()){

                lbllname.setText("*");
                lbllname.setForeground(Color.red);
                  }
                  else{
            lbllname.setText(" ");
                }

                if(txtaddress.getText().trim().isEmpty()){

                lbladdress.setText("*");
                lbladdress.setForeground(Color.red);
                }
                              else{
                    lbladdress.setText(" ");
                }

                if(lblhidden.getText().trim().isEmpty()){

                lblbirth.setText("*");
                lblbirth.setForeground(Color.red);
                }
                              else{
                    lblbirth.setText(" ");
                }
                               if(lblhidden2.getText().trim().isEmpty()){

                lblapplied.setText("*");
                lblapplied.setForeground(Color.red);
                }
                              else{
                    lblapplied.setText(" ");
                }
                               if(cmbincome.getSelectedIndex()==0){
                                   lblinocme.setText("*");
                                   lblinocme.setForeground(Color.red);
                               }
                               if(cmbgender.getSelectedIndex()==0){
                                   lblgender.setText("*");
                lblgender.setForeground(Color.red);
                               }
                               else{
                                  lblgender.setText(" "); 
                               }
                              if(cmbstatus.getSelectedIndex()==0){
                                  lblstatus.setText("*");
                                  lblstatus.setForeground(Color.red);
                              }
                              else{
                                  lblstatus.setText(" ");
                              }
                              if(cmbpurpose.getSelectedIndex()==0){
                                  lblpurpose.setText("*");
                                  lblpurpose.setForeground(Color.red);
                              }
                              else{
                                  lblpurpose.setText(" ");
                              }
                if(txtoccupation.getText().trim().isEmpty()){

                lbloccupation.setText("*");
                lbloccupation.setForeground(Color.red);
                }
                    else{
                    lbloccupation.setText(" ");
                }
                if(txtemailadd.getText().trim().isEmpty()){

                lblemail.setText("*");
                lblemail.setForeground(Color.red);
                }
                else{
                   lblemail.setText(" "); 
                }
                                if(txtcontact.getText().trim().isEmpty()){

                lblcontact.setText("*");
                lblcontact.setForeground(Color.red);
                }
                else{
                   lblcontact.setText(" "); 
                }
                if(txtamount.getText().trim().isEmpty()){

                lblamount.setText("*");
                lblamount.setForeground(Color.red);
                }
                else{
                   lblamount.setText(" "); 
                }
                if(txtmonths.getText().trim().isEmpty() || txtyears.getText().trim().isEmpty()){

                lblmonth.setText("*");
                lblmonth.setForeground(Color.red);
                }
                else{
                   lblmonth.setText(" "); 
                }
                if(txtinterest.getText().trim().isEmpty()){

                lblinterest.setText("*");
                lblinterest.setForeground(Color.red);
                }
                else{
                   lblinterest.setText(" "); 
                }
        }

        else {


            String sql = "Insert into customer (Customer_ID,First_Name,Last_Name,Birthdate,Gender,Occupation,Address,Email,Contact,Status,Income,Amount,Years, Months, Interest,Date_Applied,Purpose,Other) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            pst = conn.prepareStatement(sql);
            pst.setString(1, txtID.getText());
            pst.setString(2, txtfname.getText());
            pst.setString(3, txtlname.getText());
            pst.setString(4,((JTextField)birthdate.getDateEditor().getUiComponent()).getText());
            String gender = cmbgender.getSelectedItem().toString();
            pst.setString(5, gender);
            pst.setString(6, txtoccupation.getText());
            pst.setString(7, txtaddress.getText());
            pst.setString(8, txtemailadd.getText());
            pst.setString(9, txtcontact.getText());
            String status = cmbstatus.getSelectedItem().toString();
            pst.setString(10, status);
            String income = cmbincome.getSelectedItem().toString();
            pst.setString(11,income);
            pst.setDouble(12, Double.parseDouble(txtamount.getText())); 
            pst.setDouble(13, Double.parseDouble(txtyears.getText()));
            pst.setDouble(14, Double.parseDouble(txtmonths.getText()));
            pst.setDouble(15, Double.parseDouble(txtinterest.getText()));
            pst.setString(16, ((JTextField)datechooser.getDateEditor().getUiComponent()).getText());
            String purpose = cmbpurpose.getSelectedItem().toString();
            pst.setString(17, purpose);
            pst.setString(18, txtother.getText());
            pst.execute();
            //Double amountAndInterest = interest * (amount / 12);
            //Double expression2 = (interest/12);
            String s = "Insert into payments (Customer_ID,Customer_Name,Date_Applied,Months, Amount,Interest,Monthly_Payments, Total) values (?,?,?,?,?,?,?,?)";
            //Double payment = (amountAndInterest) / (1.0-Math.pow((expression2+ 1.0), (-(month))));


        //$MonthlyPayment = ($Amount * $monthlyInterest)/(1-pow(1+$monthlyInterest,0-$M2Pay));
            Double payment = ((amount/12)*(interest/100))/(1-(Math.pow((1+((interest/100)/12)),(0-month))));
            Double total = (payment * month);
            long num = Math.round(payment*100);
            long n = Math.round(total*100);
            String num1 = num + "";
            String n1 = n + "";
            Double finalP = ((Double.parseDouble(num1))/100);
            Double finaT = ((Double.parseDouble(n1))/100);
            st = conn.prepareStatement(s);
            st.setString(1, txtID.getText());
            st.setString(2, txtfname.getText()+","+txtlname.getText());
            st.setString(3, ((JTextField)datechooser.getDateEditor().getUiComponent()).getText());
            st.setString(4, txtmonths.getText());
            st.setString(5, txtamount.getText());
            st.setString(6, txtinterest.getText());
            st.setString(7, finalP + "");
            st.setString(8,finaT+"");
            st.execute();

            JOptionPane.showMessageDialog(null, "Record Save");

            Menu menu = new Menu();
            this.setVisible(false);
            menu.setVisible(true);
        }
            }


        catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }
</code></pre>
