JOptionPane com JPasswordField

Você já deve conhecer a classe JOptionPane, ela fornece alguns recursos uteis para exibir mensagens para o usuário, seu método showInputDialog(…) é muito útil para solicitar a entrada de dados pelo usuário, no entanto não é recomendado seu uso para solicitar senhas pois o valor digitado é exibido como texto puro.
É possível exibir um componente JPasswordField() utilizando a classe JOptionPane e então recuperá-lo posteriormente, veja como:
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
/**
* Demonstra como utilizar um JOptionPane.showConfirmDialog para requisitar senhas do usuário
* @author Eduardo Costa - www.dimensaotech.com
*
*/
public class JOptionPassword {
static String SENHA = "123";
public static void main(String args[])
{
//Criar a mensagem sera exibida
JLabel label = new JLabel("Digite a senha:");
//criar o componente grafico que recebera o que for digitado
JPasswordField jpf = new JPasswordField();
//Exibir a janela para o usuario
JOptionPane.showConfirmDialog(null,
new Object[]{label, jpf}, "Senha:",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);
//Pegamos o que foi digitado e comparamos com a senha correta
String senhaDigitada = new String(jpf.getPassword());
if (SENHA.equals(senhaDigitada))
System.out.println("Senha correta");
else
System.out.println("Senha incorreta");
}
}
Quando a janela é exibida o foco não é carregado diretamente dentro do JPasswordField, veja como contornar este problema aqui.
Últimos 5 artigos de Eduardo Costa
- Como capturar a tecla CTRL+C em aplicativos de console feito em Java - 01.09.2010
- Consulta do acervo de livros da Anhanguera Educacional - 22.08.2010
- Mudando o número da porta HTTP do Oracle - 14.08.2010
- PDF Unlock - Online e gratuito - 28.07.2010
- Programe seu Windows para desligar - 29.06.2010
Sem Comentários »
RSS feed para os comentários deste artigo.

