Erro na validação JPasswordField!

1 resposta Resolvido
ViniciusWeiss

Estou fazendo um sistema de login no java. Porém algo está dando errado ao validar a senha cadastrada. O bloco dentro do if statement com a condição senha == “senha” não roda, por mais que a senha inserida no JPasswordField esteja correta.

Segue o código do JButton usado para validar a senha e do JPasswordField.

passwordField = new JPasswordField();
	passwordField.setForeground(new Color(255, 255, 255));
	passwordField.setBackground(new Color(0, 128, 128));
	passwordField.setFont(new Font("Tahoma", Font.BOLD, 12));
	passwordField.setBounds(10, 271, 232, 20);
	contentPane.add(passwordField);
	
	JButton btnNewButton = new JButton("Fechar");
	btnNewButton.setBackground(new Color(255, 255, 255));
	btnNewButton.setBounds(10, 320, 90, 23);
	contentPane.add(btnNewButton);
	
	JButton btnAcessar = new JButton("Acessar");
	btnAcessar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			String senha = new String(passwordField.getPassword());
			
			if( senha == "senha"){
			 System.out.println("login efetuado com sucesso!");
			}
			
			/*if(false){
				System.out.println("da certo");
				departamentoCompras = new DepartamentoCompras();
				departamentoCompras.setVisible(true);
				departamentoCompras.recebeLogin(tfLogin.getText());
			}*/
		}
	});
	btnAcessar.setBackground(new Color(255, 255, 255));
	btnAcessar.setBounds(152, 320, 90, 23);
	contentPane.add(btnAcessar);
}

1 Resposta

W
Solucao aceita

Use .equals() ao invés de ==.

Criado 30 de dezembro de 2016
Ultima resposta 30 de dez. de 2016
Respostas 1
Participantes 2