1.目标:获取JTextFiled中的文本,并且与HashMap中的value值判断是否相同。
2.过程:对JTextFiled实现监听,当输入大王时,在控制台输出时大、大王,分两部分输出。这样的话就比较不了,不知道怎么获取最后的大王然后去比较,请问应该怎么改比较好?
Map<String, Person> hm = new HashMap<String,Person>();其中Person是一个类,里面包含姓名以及各种get方法等信息,这段代码时测试姓名的。然后我已经将数据库的信息存放在HashMap中了。
public void insertUpdate(DocumentEvent e)
{
String str = jtf_name.getText();
System.out.println(str);
}
这是在HashMap比较的代码:
public void insertUpdate(DocumentEvent e)
{
String str = jtf_name.getText();
for (String key:hm.keySet())
{
//System.out.println(hm.get(key).getName());
if (str == hm.get(key).getName())
{
JOptionPane.showMessageDialog(contentPane, "姓名不能重复",
"Error", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
这个建议在JTextFiled失去焦点事件中检测,