E ae galera, segue o código:
package Interface;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Login extends JFrame {
private JPasswordField pfSenha;
private JButton btOK, btCancelar;
public Login() {
setTitle("Login");
setSize(250,80);
setLocationRelativeTo(null);
JLabel lSenha = new JLabel(" Digite sua senha");
pfSenha = new JPasswordField();
pfSenha.setEchoChar('*');
btOK = new JButton("OK");
btCancelar = new JButton("Cancelar");
Container c = this.getContentPane();
c.setLayout(new GridLayout(2,2));
c.add(lSenha);
c.add(pfSenha);
c.add(btOK);
c.add(btCancelar);
TratEventos trat = new TratEventos();
btOK.addActionListener(trat);
btCancelar.addActionListener(trat);
}
public void fechar(){
this.dispose();
}
class TratEventos implements ActionListener{
public void actionPerformed (ActionEvent ev){
if (ev.getActionCommand() == "OK") {
String senha = String.valueOf(pfSenha.getPassword());
if (senha.compareTo("1234")==0) {
JOptionPane.showMessageDialog(null,"Senha Aceita!!");
new Principal().setVisible(true);
}
else {
JOptionPane.showMessageDialog(null,"Senha Inválida!\nO programa será finalizado!");
System.exit(0);
}
}
else System.exit(0);
}
}
}
então,está funcionando só q quando a autenticação eh feita com sucesso a tela principal se abre mas a tela de login continua lá,
é nessa parte do código:
if (senha.compareTo("1234")==0) {
JOptionPane.showMessageDialog(null,"Senha Aceita!!");
new Principal().setVisible(true);
}
Container c = this.getContentPane();
mas não é..tentei fazer com que todo o código ficasse apenas na classe Login,assim eu poderia usar o "this." mas tb n consegui,
alguem pode me ajudar?