[RESOLVIDO]JavaFX - Passwordfield

Bom dia pessoal,

Estou desenvolvendo uma rotina no campo Passwordfield, o usuário pode digitar o quanto quiser, mas o campo fica travado no 6º caractere. Podem me ajudar?!

[code] senha.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler(){
@Override
public void handle(KeyEvent arg0) {
PasswordField f=(PasswordField)arg0.getSource();
int length = f.getText().length();
if(length > 6){
return;
}

		}
		 
	 });[/code]

Obrigado!

Retire esse trecho do código:

if(length > 6){  
        return;  
    }             

Ele diz que se o tamanho do texto digitado for maior que 6 é para sair do método.

ErickRAR, obrigado pela dica.

Consegui implementar a rotina como eu disse acima. Transferi a rotina para um método, a qualquer momento, se eu precisar de usar um limite para senha é só chamar o método. É só passar o campo PasswordField e o tamanho desejado.

/**
 * <p>
 * Limitador de senha.
 * </p>
 * <pre>
 * {@code
 * PasswordField senha = new PasswordField();
 * addPasswordLimiter(senha, 8);
 * }
 * </pre>
 * @param pwf
 * @param maxLength
 * @return
 */
public static Node addPasswordLimiter(final PasswordField pwf, final int maxLength) {
	pwf.textProperty().addListener(new ChangeListener<String>() {
		@Override
		public void changed(final ObservableValue<? extends String> ov, final String oldValue, final String newValue) {							
			if(pwf.getText().length() > maxLength){					
				String s = pwf.getText().substring(0, maxLength);
				pwf.setText(s);	                
			}
		}
	});		
		
	return pwf;
}

Já testou passar -1 no parametro maxLength? acho que não vai dar muito certo não. :stuck_out_tongue: