我正在为我的游戏登录屏幕,一切正常,除了一件事。当我检查来自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,如果没有,则登录游戏(稍后添加),但显然,这不会发生。它只是在控制台中输出空白区域。
提前致谢! :)
答案 0 :(得分:0)
您需要使用equals-method来比较字符串。你的比较目前都不会成真。
username.equals("") && passcode.equals("")