0

我正在为我的游戏制作登录屏幕,一切正常,除了一件事。当我检查是否来自 JTextField == "" 的文本时,它仍然会启动游戏等等。

这是我的代码:

public void attemptLogin(String username, String passcode) {
    if (username != "" && passcode != "") {
        System.out.println(username);
        System.out.println(passcode);
    } else if (username == " " || passcode == " ") {
        JOptionPane.showMessageDialog(null, "Put in your credentials!", "Hey you!", JOptionPane.ERROR_MESSAGE);
    }
}

}

在我的主要课程中,它是:

public void actionPerformed(ActionEvent action) {
        if (action.getSource() == login) {
            gamelogin.attemptLogin(username.getText(), passcode.getText());
        } else if (action.getSource() == register) {
            account.registerAccount();
        }
    }

现在必须发生的是,如果 JTextField 出现空白,则显示 JOptionPane,如果没有,则登录游戏(稍后添加),但显然,这不会发生。它只是在控制台中输出空白。

提前致谢!:)

4

1 回答 1

0

您需要使用 equals 方法来比较字符串。目前,您的任何比较都不会是真的。

username.equals("") && passcode.equals("")
于 2013-10-14T18:17:54.747 回答