代号One - 在iOS上屏蔽和取消屏蔽密码字段

时间:2017-03-15 10:42:21

标签: java codenameone

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更改代码?

1 个答案:

答案 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(); 
        }
    }
}); 
相关问题