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();

            }
        }
    }

}
4

2 回答 2

1

btn_NewUser永远不会true因为你试图在Btn if分支中比较它

我“认为”你想要的东西更像......

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();
}
于 2013-07-26T03:22:34.590 回答
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)) {
}

除非 Btn 和 btn_Newuser 相同,否则第二个if不能为真。

于 2013-07-26T03:22:46.497 回答