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);
}