Galera é o seguinte, to fazendo uma aplicação desktop, onde eu tenho uma classe Password que tem um Container e um JPasswordField. a questão é a seguinte: quando abro minha aplicação terei de fazer um login com senha para que seja liberado o software. Fiz uma classe Password como segue. Na main eu instancio essa Password. QUando eu clico no botão desse Password, ele verificaria a senha digitada com a senha já cadastrada na main. Porém dessa maneira não está dando certo, pois ele verifica a senha antes de permitir digita-la. Poderia fazer esse JPasswordField na main, mas gostaria que fosse uma classe para que mesmo depois de logado se houver alguma restrição com senha eu pudesse utilizá-la novamente. Alguma dica??? Vlw…
// classe MAIN
package firstgraphicinterface;
import javax.swing.JOptionPane;
public class MainClass {
public MainClass(){}
public static void main(String[] args){
String senha = "123";
boolean senhaValida = false;
// instancio objeto
Password psw = new Password(senha);
senhaValida = psw.verificarSenha();
if(senhaValida == false)
JOptionPane.showMessageDialog(null, "Desculpe, sistema travado");
else{
//mainFrame é o frame da minha aplicação principal
MainFrame mf = new MainFrame();
mf.setVisible(true);
}
}
}
// classe PASSWORD
package firstgraphicinterface;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import java.awt.*;
import java.awt.event.*;
public class Password extends JFrame{
private JPasswordField password;
private JButton button;
private String senha, pass;
private boolean senhaValida = false;
public Password(String s){
super("Senha de Acesso");
//recebe a senha passada
pass = s;
//faz uma tela
Container tela = getContentPane();
tela.setLayout(null);
password = new JPasswordField(5);
button = new JButton("Confirmar");
password.setBounds(70,40,100,20);
button.setBounds(70,60,100,20);
password.setEchoChar('#');
// evento do botão
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
senha = password.getPassword().toString();
}
});
tela.add(password);
tela.add(button);
setSize(250,150);
setVisible(true);
setResizable(false);
}
// método para verificar a senha
public boolean verificarSenha(){
return (senha.equals(pass));
}
}