不依法度 2021-11-15 16:52 采纳率: 100%
浏览 109
已结题

Java Swing的getPassword()和getText()报空指针错误

swing的getPassword()和getText()报空指针错误

不明白 这样为什么不行,提示是因为空指针

 if (map.get(new String(password.getPassword()).toString()).equals(username.getText().toString()))

但是可以

String nPassword=new String(password.getPassword());         
String nUsername=username.getText();
if (map.get(nUsername).equals(nPassword))

报错:

img

JTextField username = new JTextField(20);
JPasswordField password = new JPasswordField(20);

/*...不必要的代码我截掉了*/

loginButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String nPassword=new String(password.getPassword());         
                String nUsername=username.getText();
                if (map.get(nUsername).equals(nPassword)) {
//                通过哈希表进行密码和用户名的匹配
//                if (map.get(new String(password.getPassword()).toString()).equals(username.getText().toString())){//不懂为什么不行,提示是因为空指针
                    if (code.getText() .equals(String.valueOf((int) verificationCode))) {
                        JOptionPane.showMessageDialog(null, "login Successfully");
                        new FunctionMenuTablet();
                    }
                    else JOptionPane.showMessageDialog(null, "Verification code error!");
                }
                else JOptionPane.showMessageDialog(null, "Login failed!\n Password is incorrect or user does not exist");
            }
        });
  • 写回答

3条回答 默认 最新

  • CSDN专家-Time 2021-11-15 16:57
    关注

    如果你的username.getText() 为null的话,toString()是无法执行的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 11月15日

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂