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手机完美配合,代码无法在iPhone设备上运行。
有没有办法在iPhone上实现相同的目标。
我是否需要为iOS更改代码?
答案 0 :(得分:1)
我注意到有一件事遗失: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();
}
}
});