Problema no JPasswordField!

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???

[code]
String pass = “”;
char[] charPass = passwordFiels.getPassword();

for ( char c : charPass )
pass += c + “”;

if ( ! pass.toUpperCase().equals( “SENHA” ) )
.
.
.[/code]

Falow!

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())) 

Ou melhor!

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

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

Falow!