Problema com JPassordField  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
maxcarvalho
Java Ninja

Membro desde: 15/02/2007 19:15:49
Mensagens: 253
Offline

Pessoal,

Tenho um formulário desenvolvido em Swing/NetBeans, contendo campos do tipo JPassordField.
jpfEntradaSenha - para a digitação da senha
jpfConfirmaSenha - para a confirmação da digitação da senha.

Acontece, porém, o método getPassord() de JPasswordField não retorna uma String e sim um array de char.
Sendo assim, alguém poderia me ajudar a fazer o seguinte :

1o - capturar o conteúdo de cada um dos JPassordField e jogar cada um destes conteúdos num array de char
2o - verificar os dois array de char possuem o mesmo conteúdo, ou seja, se os dois campos de senha possuem o mesmo conteúdo.

Agradece,

Max
cecaldas
Java Ninja

Membro desde: 01/03/2004 13:17:19
Mensagens: 264
Offline

Dá um aolhada aqui que tu vais saber o q fazer:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html
alanblins
What is classpath?
[Avatar]

Membro desde: 19/01/2008 02:13:46
Mensagens: 8
Offline

//Para exibir o conteudo do JPasswordfield
char[] data = password.getPassword();
String senha = new String(data);

JOptionPane.showMessageDialog(null,senha);

É mais insano ter a certeza do impossível do que acreditar em algo inacreditavelmente possível.
[Email] [WWW] [Yahoo!] [MSN]
alanblins
What is classpath?
[Avatar]

Membro desde: 19/01/2008 02:13:46
Mensagens: 8
Offline

//Lembrando que para comparar String se usar o método equal

if(senha.equals("123")){
JOptionPane.showMessageDialog(null,"A senha está correta");
}

É mais insano ter a certeza do impossível do que acreditar em algo inacreditavelmente possível.
[Email] [WWW] [Yahoo!] [MSN]
maxcarvalho
Java Ninja

Membro desde: 15/02/2007 19:15:49
Mensagens: 253
Offline

alanblins,

Valeu aí pela ajuda. Deu certo aqui. Pensei até que fosse mais complicado fazer isto.
O único porém é que eu não tava querendo usar String propriamente dito, pq pelo que andei lendo, uma String é uma referência estática, ou seja, uma vez instanciada,
o seu conteúdo fica disponível lá na máquina virtual.
Já me disseram que isto não é bom por questões de segurança.
Então, o melhor mesmos seria eu comparar o conteúdo dois dois JPasswordField como sendo dois arrays de caracteres.
Achei que tivesse um .equals para caracteres e tentei usar aqui mas não deu certo.
Desculpe estar lhe enchendo a paciência mas é que tou começando ainda em Javal e apanhando um bocado dela(risos).
T+
alanblins
What is classpath?
[Avatar]

Membro desde: 19/01/2008 02:13:46
Mensagens: 8
Offline




Qualquer dúvida post ai sem problemas. Estamos aqui para trocar conhecimento. Todo mundo sai ganhando com isso!>

É mais insano ter a certeza do impossível do que acreditar em algo inacreditavelmente possível.
[Email] [WWW] [Yahoo!] [MSN]
maxcarvalho
Java Ninja

Membro desde: 15/02/2007 19:15:49
Mensagens: 253
Offline

Amigo,

Com este trecho :

"...
if(senha[i]!=valor[i]){
...
"
eu não estaria comparando os endereços(referências) de cada vetor ?

Obrigado pela atenção.
Max



alanblins
What is classpath?
[Avatar]

Membro desde: 19/01/2008 02:13:46
Mensagens: 8
Offline

maxcarvalho wrote:
if(senha[i]!=valor[i]){



Esse código compara o conteudo do vetor na posição "i". Ah, quase que esqueço. o Vetor senha eu instanciei fora do método action performed.
Outra coisa: O método equals desse vetor não funcionou porque ele tem como parâmetro um objeto. Portanto se o argumento for um char[] ele não irá funcionar.

É mais insano ter a certeza do impossível do que acreditar em algo inacreditavelmente possível.
[Email] [WWW] [Yahoo!] [MSN]
alanblins
What is classpath?
[Avatar]

Membro desde: 19/01/2008 02:13:46
Mensagens: 8
Offline


É mais insano ter a certeza do impossível do que acreditar em algo inacreditavelmente possível.
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team