所以我使用 JPasswordField 来获取用户输入,然后就输入密码的强度提供即时反馈。我的问题是,如果用户单击“隐藏”复选框,则文本字段中的字符串不会立即被“●”屏蔽,而是仅在文本字段重新获得焦点时才起作用。我尝试在 mouseListener 中使用 component.getFocus,但它似乎不起作用。
这是这个特定的侦听器的样子:
inputT.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent hideClicked){
if (hideC.isSelected()){
inputT.setEchoChar('•');
inputT.requestFocus();
}
if (!hideC.isSelected()){
inputT.setEchoChar('\u0000');
inputT.requestFocus();
}
}
});