Java密码回显为'*'失败,为什么?

我写了一个程序,意思是登陆窗口,登陆者为“admin”且密码为“123456”时登陆成功,否则不成功,点击“退出”则关闭窗口。那么问题来了,我用了  JPasswordField    t2 = new JPasswordField(10);
                                              t2.setEchoChar('*');显示的还是实际密码“123456”而不是“******”,为什么?

代码如下:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class bar2_exr extends JFrame {
    Container      con ;
    JLabel         lb1,lb2;
    JTextField     t1;
    JPasswordField t2;
    JButton A,B;
   // String psw;
    public bar2_exr(){
     this.setTitle("欢迎使用图书馆管理系统 ");///设置标题
     con = this.getContentPane();//获得内容窗格
     con.setLayout(new FlowLayout());//设置布局
        lb1 = new JLabel("输入用户名: ");//标签内容
        lb2 = new JLabel("  输入密码: ");
     t1 = new JTextField(10);//文本内容
     t2 = new JPasswordField(10);
     t2.setEchoChar('*');
     con.add(lb1);
     con.add(t1);
     con.add(lb2);
     con.add(t2);
     t2.addActionListener(new ActionLis());
     JPanel J = new JPanel();    //按钮功能
     A = new JButton("登录");
     A.addActionListener(new ActionLis());
     B = new JButton("退出");
     B.addActionListener(new ActionLis());
     J.add(A);
     J.add(B);
     con.add(J,BorderLayout.SOUTH);
     this.setVisible(true);
     this.setSize(600,450);
    }
    class ActionLis implements ActionListener{
     //@SuppressWarnings("unlikely-arg-type")
  public void  actionPerformed(ActionEvent e){
      if(e.getSource() == A){
       //psw=new String(t2.getPassword());
       if(t1.getText().equals("admin")){
        if(t2.getPassword().equals("123456") )
            System.out.println("登陆成功");
        else//(!psw.equals("123456"))
          System.out.println("登陆不成功");
       } 
      }
      else//(e.getSource() == B)
       System.exit(0);
        }
    }
    static void main(String[] args) {
  // TODO Auto-generated method stub
        new bar2_exr();
 }

}

请问,为什么呢?哪位大神能帮帮我?非常感谢你的帮助!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值