Java的GUI编程,密码框内容获取不正确

我写一个学生管理系统的登录窗口,假设密码是123,添加事件响应的一段代码:
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
char password []=t.getPassword();
String str=new String (password);
if(str=="123"){
new Mainframe("学生管理系统");
setVisible(false);
}
else if(str!="123")
JOptionPane.showMessageDialog(null, "密码不正确,请重新登录!");
}
});

其中t是JPasswordField,但是执行结果始终都是密码错误,怎么回事?求解,谢谢!
把str!="123"改为!str.equals("123")
str=="123"凯亮梁改为str.equals("123")
就可以了,java里面对字符串的比较用盯运键败String.equals(str)
if(str.equals("123"枯岩)){//注意,要使用equals,而不缓友是==
new Mainframe("学生管理系统");
setVisible(false);
}
else if(!str.equals("123"))//注意,要使用没哪御equals,而不是==
String str=new String (password);
if(str=="握模丛123")
一个是缓冲码洞池里的对象,一个不是,当然不能用等号段樱,最好对象比较都用equals.
自己测试呀 不能什么都问 你可以打印字符数组 看结果怎样 要想办法找问题