2013-07-26 2 views
0

У меня есть три кнопки, из трех двух работают нормально, но когда я нажимаю на третий (btn_Newuser), он не отвечает? здесь кодЧто случилось с этим действием?

if (e.getSource().equals(btn_cancel)) { 
    System.exit(0); 
} else if (e.getSource().equals(Btn)) { 
    if (tf_Fname.getText().trim().length() == 0 && tf_Lname.getPassword().length == 0) { 
     JOptionPane.showMessageDialog(null, "Text Fields cannot be blank! ", "Blank", JOptionPane.WARNING_MESSAGE); 
    } else { 
     try { 
      selectfromdb(); 
     } catch (SQLException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } finally { 
      if (e.getSource().equals(btn_Newuser)) { 
       System.out.println("You have clicked on" + btn_Newuser); 
       new Newuser(); 

      } 
     } 
    } 

} 
+0

Возможно, вы не введете 'else if'? добавьте отладочную печать ... – alfasin

ответ

1

btn_NewUser никогда не будет true, потому что ваш пытаются сравнить его в Btnif ветви

Я «думаю» Вы хотите что-то больше похоже на ...

if (e.getSource().equals(btn_cancel)) { 
    System.exit(0); 
} else if (e.getSource().equals(Btn)) { 
    if (tf_Fname.getText().trim().length() == 0 && tf_Lname.getPassword().length == 0) { 
     JOptionPane.showMessageDialog(null, "Text Fields cannot be blank! ", "Blank", JOptionPane.WARNING_MESSAGE); 
    } else { 
     try { 
      selectfromdb(); 
     } catch (SQLException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } finally { 
     } 
    } 
} else if (e.getSource().equals(btn_Newuser)) { 
    System.out.println("You have clicked on" + btn_Newuser); 
    new Newuser(); 
} 
+0

Вы правы .... спасибо :) – anuj

0

Ваше состояние в finally не может быть правдой.

Ваш код сводится к следующему.

else if (e.getSource().equals(Btn)) { 
    ... 
    // This can never happen because you are in the getSource == Btn block. 
    if (e.getSource().equals(btn_Newuser)) { 
} 

Второй if не может быть правдой, если Btn и btn_Newuser не являются одинаковыми.