TextField password = new TextField("", "Pass Word", 15, TextField.PASSWORD);
CheckBox maskAndUnmaskCheck = new CheckBox();
maskAndUnmaskCheck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
if(maskAndUnmaskCheck.isSelected()) {
password.setConstraint(TextField.ANY);
} else{
password.setConstraint(TextField.PASSWORD);
}
}
});
我们正在使用上面的代码显示密码而不蒙版,即显示用户选择复选框时他输入的内容。
上面的代码与Android Mobiles完美合作,该代码无法在iPhone设备上使用。
在iPhone上也有任何方法可以实现同样的方法。
我是否需要iOS的任何代码更改?
我注意到缺少的一件事是: repaint()
或 revalidate()
。
final TextField password = new TextField("","Pass Word",15,TextField.PASSWORD);
CheckBox maskAndUnmaskCheck = new CheckBox();
maskAndUnmaskCheck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
if(maskAndUnmaskCheck.isSelected()){
password.setConstraint(TextField.ANY);
} else {
password.setConstraint(TextField.PASSWORD);
}
if(password.isEditing()) {
password.stopEditing();
password.startEditingAsync();
} else {
password.getParent().revalidate();
}
}
});