Como esconder o que for digitado no class java

16 respostas
R

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.

16 Respostas

M

Opa, você poderia detalhar melhor o seu problema?

R

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.

R

Daí eu queria saber como fazer isso com a senha

D

você pode usar o JtextPassWord ele irá substituir por “*”.

R

E como se utiliza isso?

D

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.

R

Eu estou usando o Class do Eclipse SDK

D
R

será q vc poderia postar o código, pq naum consegui resolver no link q vc me passou

D

Posta o seu código. Não vou mandar código pronto.

R

Eu ainda naum fiz, só queria saber como esconder a senha.

D

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.

R

Q djabo eh frame?

D

frame que eu digo é a Janela Gráfica, linha de comando é linha de comando. Especifica direito como você está fazendo.

R

É um projeto q estou fazendo para o tecnico em informatica. Naum estou utilizando janela gráfica de qualquer forma taí o projeto:
Principal:

import java.util.*;
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");
	}

}
Empresa:
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;
}
Aí lá no começo eu queria fazer com que a senha,enquato o usuário estivesse digitando, naum aparecesse ou aparecesse "*". Estou rodando ele no Class.
WellingtonRamos

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.

Criado 7 de dezembro de 2011
Ultima resposta 7 de dez. de 2011
Respostas 16
Participantes 4