我有两个文本字段和一个JComboboxes问题是我希望程序检查文本字段中是否输入了“admins”并在JCombobox中选择了管理员,如果这样,程序将向用户显示一个消息框。
答案 0 :(得分:5)
您评论中的代码:
if (btn1 == y.getSource() && tf1.toString() == "admin" &&
tf2.toString() == "admin" && c1.getSelectedIndex() == 0 )
显示您使用==
来比较字符串,并尝试使用toString()
从JTextField获取文本,这些都不是好事。而不是字符串比较,使用equals(...)
或equalsIgnoreCase(...)
方法,而不是==
,因为后者检查两个对象是否相同,这不是我们的'一般感兴趣。我们不关心一个String是否由另一个对象保持为另一个,而是两个字符串具有相同顺序的相同字符,这就是两个等于方法的方式。
接下来,使用getText()
方法提取JTextField保存的文本。例如:
if (btn1 == y.getSource() && tf1.getText().equals("admin") &&
tf2.getText().equals("admin") && c1.getSelectedIndex() == 0 )
此外,请将代码显示为您的问题的编辑,而不是评论,因为它不能很好地作为评论格式化。最后,如果我的建议没有帮助,请考虑向我们展示更多代码,并提供有关此代码问题的更多详细信息。