Queria saber como fazer para esconder o que o usuário digita no Class Java, seja mudando a cor da fonte para branco (que seria a cor que fica atrás da letras, assim as escondendo) ou substituí-las por “*” ou qualquer coisa que as esconda. É como se fosse uma senha, que não deve ser mostrada na tela e deve ser armazenada para depois compará-la com outra armazenada. E se possível também explicar como funciona.
Como esconder o que for digitado no class java
16 Respostas
Opa, você poderia detalhar melhor o seu problema?
Claro. Eu tenho q fazer um algoritmo no qual há uma pessoa deverá entrar com um login, que é constituído por usuário e senha. Daí a pessoa digitará o usuário e a senha, que serão comparados com um usuário e senha já armazenados. Se o usuário digitado for igual ao usuário armazenado e se a senha digitada for igual a senha armazenada aparacerá OK. Só q na senha cada letra ou número digitado não deve aparecer, podendo cada letra ou número ser substituída por “*” ou não aparecer, mudando a cor da fonte para a cor branca.
Daí eu queria saber como fazer isso com a senha
você pode usar o JtextPassWord ele irá substituir por “*”.
E como se utiliza isso?
Você está usando o netBeans para criar os frames? Ao invés de usar a JTextField você usa a JTextPassword. Ele já faz tudo sozinho.
Eu estou usando o Class do Eclipse SDK
será q vc poderia postar o código, pq naum consegui resolver no link q vc me passou
Posta o seu código. Não vou mandar código pronto.
Eu ainda naum fiz, só queria saber como esconder a senha.
Você vai usar frame, ou vai fazer por linha de comando. Especifica seu problema. Ninguém vai dar código pronto para você. Não é assim que funciona. Você posta o que têm pronto e ai sim as pessoas te ajudam.
Q djabo eh frame?
frame que eu digo é a Janela Gráfica, linha de comando é linha de comando. Especifica direito como você está fazendo.
É um projeto q estou fazendo para o tecnico em informatica. Naum estou utilizando janela gráfica de qualquer forma taí o projeto:
Principal:
public class principal {
public static void main(String[] args) {
Scanner r = new Scanner (System.in);
int cont=0,cont2=0,opcao,cond=0,cond2=0,quant=0,erros=0;
double porcent;
String usuario,usuario1="contabilidade",nome,senha,senha1="cont123";
empresa v[]= new empresa[1000];
do
{
System.out.println("Digite o usuário");
usuario=r.next();
System.out.println("Digite a senha");
senha=r.next();
if(usuario.compareTo(usuario1)==0 && senha.compareTo(senha1)==0)
cond=1;
else
{
erros++;
if(erros<=2)
System.out.println("Usuário ou senha incorreto. Você tem mais "+(3-erros)+" tentativas.");
else
System.out.println("Você excedeu o número de tentativas.");
}
if(erros>=3)
cond=1;
}while(cond==0);
if(erros<3)
{
do
{
cond=0;
cond2=0;
System.out.println("----------------------");
System.out.println("--- MENU PRINCIPAL ---");
System.out.println("----------------------");
System.out.println("1 - Inserir");
System.out.println("2 - Excluir");
System.out.println("3 - Alterar");
System.out.println("4 - Buscar");
System.out.println("5 - Listar");
System.out.println("6 - Relatório");
System.out.println("7 - Sair");
System.out.println("-------------------------");
System.out.println("Digite a opção desejada: ");
opcao = r.nextInt();
switch(opcao)
{
case 1: // incluir contato
v[cont2] = new empresa(); // cria uma empresa (com os dados) naquela posição do vetor
System.out.println("Incluindo novo contato...");
System.out.println("Digite o nome da empresa: ");
v[cont2].nome = r.next();
System.out.println("Digite o endereço:");
System.out.println("A rua:");
v[cont2].rua = r.next();
System.out.println("O número:");
v[cont2].num = r.nextInt();
System.out.println("O bairro:");
v[cont2].bairro = r.next();
System.out.println("A cidade:");
v[cont2].city = r.next();
System.out.println("O estado:");
v[cont2].estado = r.next();
System.out.println("Qual é o CEP?");
v[cont2].cep= r.next();
System.out.println("Digite a entrada de dinheiro:");
v[cont2].entrada = r.nextFloat();
System.out.println("Digite a saída de dinheiro:");
v[cont2].saida =r.nextFloat();
System.out.println("Digite o CNPJ");
v[cont2].cnpj = r.nextInt();
System.out.println("Digite o CNAE");
v[cont2].cnae =r.nextInt();
cont2++;
quant++;
System.out.println("\n");
break;
case 2://Excluir contato
System.out.println("Digite o nome da empresa que você deseja que seja excluída:");
nome= r.next();
for(cont=0;cont<quant;cont++)
{
if(v[cont].nome.compareTo(nome)==0 && v[cont].cnpj!=0)
{
System.out.println("O registro da empresa "+v[cont].nome+" foi achado");
cond=1;
System.out.println("Você realmente deseja excluí-lo? 1(Sim) ou 2(Não)");
cond2= r.nextInt();
if(cond2==1)
{
v[cont].nome = "0";
v[cont].rua = "0";
v[cont].num =0;
v[cont].bairro = "0";
v[cont].estado = "0";
v[cont].city = "0";
v[cont].estado = "0";
v[cont].entrada = 0;
v[cont].saida = 0;
v[cont].cnpj=0;
v[cont].cnae=0;
}
}
}
if(cond==0)
System.out.println("Não há empresa com o nome "+nome+" no registro");
System.out.println("\n");
break;
case 3: // Alterar contato
System.out.println("Qual é o nome da empresa que você deseja alterar?");
nome=r.next();
for(cont=0;cont<quant;cont++)
{
if(v[cont].nome.compareTo(nome)==0 && v[cont].cnpj!=0)
{
System.out.println("O registro da empresa "+v[cont].nome+" foi encontrado");
cond=1;
System.out.println("Você realmente deseja alterá-lo? 1(Sim) ou 2(Não)");
cond2= r.nextInt();
if(cond2==1)
{
System.out.println("Digite os novos dados da empresa");
System.out.println("Incluindo novo contato...");
System.out.println("Digite o nome da empresa: ");
v[cont].nome = r.next();
System.out.println("Digite o endereço:");
System.out.println("A rua:");
v[cont].rua = r.next();
System.out.println("O número:");
v[cont].num = r.nextInt();
System.out.println("O bairro:");
v[cont].bairro = r.next();
System.out.println("A cidade:");
v[cont].city = r.next();
System.out.println("O estado:");
v[cont].estado = r.next();
System.out.println("Qual é o CEP?");
v[cont].cep= r.next();
System.out.println("Digite a entrada de dinheiro:");
v[cont].entrada = r.nextFloat();
System.out.println("Digite a saída de dinheiro:");
v[cont].saida =r.nextFloat();
System.out.println("Digite o CNPJ");
v[cont].cnpj = r.nextInt();
System.out.println("Digite o CNAE");
v[cont].cnae =r.nextInt();
}
}
}
if(cond==0)
{
System.out.println("Não há empresa com o nome "+nome+" no registro");
}
System.out.println("\n");
break;
case 4://Buscar contato
System.out.println("Qual é o nome da empresa que você deseja Buscar?");
nome=r.next();
for(cont=0;cont<quant;cont++)
{
if(v[cont].nome.compareTo(nome)==0 && v[cont].cnpj!=0)
{
System.out.println("O registro da empresa "+v[cont].nome+" foi encontrado");
cond=1;
}
}
if(cond==0)
System.out.println("Não há empresa com o "+nome+" no registro");
System.out.println("\n");
break;
case 5: // Listar contatos
System.out.println("Listando empresas cadastradas...");
for (cont=0;cont<quant; cont++)
{
if(v[cont].num!=0)
{
System.out.println("Nome da empresa: " + v[cont].nome);
System.out.println("O endereço é "+v[cont].rua+", "+v[cont].num+", "+v[cont].bairro+", "+v[cont].city+" "+v[cont].estado);
System.out.println("Número de CNPJ é " + v[cont].cnpj);
System.out.println("Número de CNAE é " + v[cont].cnae);
System.out.println("-----------------------------------");
cond=1;
}
}
if(cond==0)
System.out.println("Não há empresas registradas");
System.out.println("\n");
break;
case 6: // Relatórios
System.out.println("Escolha uma das opções abaixo:");
System.out.println("1 - Lucro ou despesa de cada empresa");
System.out.println("2 - As empresas que estão estáveis");
System.out.println("3 - As empresas que estão em situação de risco");
opcao=r.nextInt();
cond2=3;
switch(opcao)
{
case 1:
for (cont=0;cont<quant;cont++)
{
if(v[cont].entrada>=v[cont].saida && v[cont].cnpj!=0)
{
System.out.println("A empresa"+v[cont].nome+" está com um lucro de "+(v[cont].entrada-v[cont].saida)+" reias.");
cond=1;
}
else
{
System.out.println("A empresa"+v[cont].nome+" está com uma despesa de "+(v[cont].saida-v[cont].entrada)+" reais");
cond=1;
}
}
if(cond==0)
System.out.println("Não há empresas cadastradas");
break;
case 2:for (cont=0;cont<quant; cont++)
System.out.println("As empresas que estão estáveis são:");
for (cont=0;cont<quant;cont++)
{
porcent=(v[cont].saida*100)/v[cont].entrada;
if(porcent<=40 && v[cont].cnpj!=0)
{
System.out.println(v[cont].nome);
cond=1;
}
}
if(cond==0)
System.out.println("Não há empresas estáveis");
break;
case 3:
System.out.println("As empresas que estão em situação de risco são:");
for (cont=0;cont<quant;cont++)
{
porcent=(v[cont].saida*100)/v[cont].entrada;
if(porcent>40 && v[cont].cnpj!=0)
{
System.out.println(v[cont].nome);
cond=1;
}
}
if(cond==0)
System.out.println("Não há empresas em situação de risco");
default:if (opcao != 3)
System.out.println("Opção inválida");
}
default: if (opcao != 7 && cond2!=3)
System.out.println("Opção inválida, tente novamente!");
}
} while (opcao != 7);
}
System.out.println("Programa encerrado.");
System.out.println("Desenvolvedor Rafael Xavier Deiga Ferreira");
}
}
public class empresa {
public String nome;
public String rua;
public int num;
public String bairro;
public String estado;
public String city;
public int contato;
public double entrada;
public double saida;
public int cnpj;
public int cnae;
public String cep;
}
Isso vai depender também se o sistema que vc está fazendo é web ou desktop.
Cada caso utiliza componentes diferentes JÁ prontos para uso, ou seja, sem a necessidade de codificar essa implementação. Porém, caso seja desktop, pode utilizar um JTextField e implementar um Document novo para ele que troque o texto digitado pelo caracter que irá ocultá-lo (ou guardar o valor digitado e não permitir que qualquer coisa apareça). Porém não recomendo a última opção pois o componente já existe e está pronto para uso.