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 começar a estudar Java - 28.02.2010
- Governo lança Salariômetro - 25.02.2010
- Quando aceitar uma contraproposta e ficar no emprego - 24.02.2010
- O futuro dos empregos - 22.02.2010
- Aprender rápido é uma competência valorizada - 17.02.2010
Sem Comentários »
RSS feed para os comentários deste artigo.
