Problema no JPasswordField!

3 respostas
C

se eu uso:

if(! senhaText.getText().toUpperCase().equals(“SENHA”))

eu recebo um aviso de deprecation em getText() porque senhaText é um JPasswordField e não um JTextField.

Claro, eu posso usar senhaText.getPassword() mas a chamada do método .toUpperCase() pára de funcionar.
Resumindo, usando o JPasswordField, como usar o getPassword(), porém convertendo imediatamente esse valor para uma String em letras maiúsculas???

3 Respostas

davidbuzatto
String pass = "";
char[] charPass = passwordFiels.getPassword();

for ( char c : charPass )
    pass += c + "";

if ( ! pass.toUpperCase().equals( "SENHA" ) )
.
.
.

Falow!

R

O método getText() de JPasswordField é deprecated mesmo.

A diferença é que getPassword() retorna um char[] ao invés de String.

Você pode fazer assim:

if(! "SENHA".equals(new String(senhaText.getPassword()).toUpperCase()))
davidbuzatto

Ou melhor!

if ( ! Arrays.toString( passwordField.getPassword() ).toUpperCase().equals( "SENHA" ) )

A classe utilitárias Arrays está no pacote java.util

Falow!

Criado 21 de maio de 2006
Ultima resposta 21 de mai. de 2006
Respostas 3
Participantes 3