Java JPasswordField .getPassword()问题

时间:2016-07-13 11:10:03

标签: java user-interface jpasswordfield

我使用JPasswordField获取登录功能的用户名和密码。 .getPassword适用于密码,但不适用于用户名。如果我键入相同的东西,任何想法为什么它不适用于用户名?

这是我的代码:

    total        0.00

2 个答案:

答案 0 :(得分:0)

使用     System.out.println(输入+"" +用户) 在if语句之前只是为了看看变量的值是什么,那么你就会知道问题并且可以修复它

{
        String input = String.valueOf(field.getPassword());
        String user = String.valueOf(user.getPassword());
        System.out.println(input+"  "+user);//here print see the consul to know why it's not working
        if(input.equals("double" && user.equals("relocating")))
        {
            field.setText("");
           pane();
    }

或者可能是因为您对字符串和字段使用相同的名称

答案 1 :(得分:0)

您的代码中存在一些错误。首先,您要添加'用户' JP父级面板中的JPasswordField两次。第一次在这里完成:

JPasswordField user = new JPasswordField(10);
user.setEchoChar('?');
panel.add(user);

初始化组件后,在此处输入一个:

JLabel password = new JLabel("Enter your Password: ",JLabel.RIGHT);
password.setForeground(Color.WHITE);
password.setFont(password.getFont().deriveFont(24f));
panel.add(user);
panel.add(password);

其次,为什么要将您的组件添加到面板'字段'在按钮初始化之后(以及它的听众)。

第三,您的用户名是多长时间?如果超过10个字符,我就无法工作,因为你的尺寸有限。