Echo jpassword字符一次然后隐藏它

时间:2014-05-21 10:45:47

标签: java swing jpasswordfield

在我的swing应用程序中,我希望将jpassword字段字符回显一段时间(1秒),然后再次隐藏它。我希望在用户输入字符后逐个字符地进行操作(当用户输入字符时,显示它,然后隐藏它。然后对于所有输入字符重复此操作)。 有人可以告诉我是否有可能,如果是的话怎么样? 提前致谢!

2 个答案:

答案 0 :(得分:0)

它不是很复杂,您可以使用此方法将此值设置为“0”时禁用屏蔽字符:setEchoChar((char) 0)

pass.getDocument().addDocumentListener(new DocumentListener() {
    public void changedUpdate(DocumentEvent e) {
        unhide();
    }
    public void removeUpdate(DocumentEvent e) {
        unhide();
    }
    public void insertUpdate(DocumentEvent e) {
        unhide();
    }

    public void unhide(){
        pass.setEchoChar((char) 0);//display password
        //here your timer
        pass.setEchoChar('*');//hide with '*'
    }
});

上面的代码向您展示了您应该做的第一个想法。您必须使用线程等待所需的时间。

答案 1 :(得分:0)

我遇到过这个可能是一个好的开始,因为它显示输入的最后一个字符并显示其余的密码被屏蔽但在设定的时间后没有隐藏它所以你可能需要实现一个事件在设定时间后隐藏Check it out here