这个动作有什么问题?

时间:2013-07-26 03:18:36

标签: java swing jbutton actionlistener

我有三个按钮,三个中的两个工作正常,但是当我点击第三个(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();

            }
        }
    }

}

2 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分: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不能为真。