Fala galera tudo tranqüilo. Galera a minha duvida e a seguinte no meu sistema de controle de estoque eu tenho uma tela de menu com ás opções para o usuário, quando eu executo o programa já aparece o menu, mais eu criei uma tela de login para o usuário se autenticar primeiro, mais só que eu não estou conseguindo que a tela de login abra primeiro que o menu. Galera desde de já agradeço pela atenção e pela paciência e espero que vocês possam me ajudar. Abaixo segue os métodos da minhas classes.
na minha tela de Login eu tenho esse método:
[codpublic void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
if(vericaCamposVazios()==true){
LoginBO lb = new LoginBO();
Login l = new Login();
E ai cara blz?
Bom dá uma olhada e vê se a classe que está o login é a main do seu projeto. Eu passei varias vezes por este problema por que as a minha classe não era a main do projeto. Dá uma olhada nisso!
E quando o usuário existir, você faz a chamada da classe que está o menu.Blz?
Espero ter te ajudado!
Abraços
Sugiro vc implementar o método main na classe de Login.
Ao validar o usuário e o sistema permitir acesso, através da classe login vc chama a classe Menu.
Valeu aí pelas dicas que vocês me deram, deu tudo certo aqui.
o método btnLoginActionPerformed(java.awt.event.ActionEvent evt) da classe tela de login ficou assim:
public void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
boolean resultado=true;
try{
if(vericaCamposVazios()==true){
LoginBO lb = new LoginBO();
Login l = new Login();
l.setUsuarioL(textUsuario.getText());
l.setSenhaL(passSenha.getText());
//resultado recebe o valor do método lb.verificaSeUsuarioExiste(l)
resultado=lb.verificaSeUsuarioExiste(l);
//se a variavél resultado for igual a true mostra o menu do sistema
if(resultado==true){
MenuPrincipalDoSistema mp = new MenuPrincipalDoSistema();
mp.setVisible(true);
}
this.limpaCampos();
}
}catch(LoginException le){
JOptionPane.showMessageDialog(null,le.getMessage(),
"Informação",JOptionPane.ERROR_MESSAGE);;
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage(),
"Informação",JOptionPane.ERROR_MESSAGE);
}
//se a variavel resultado for igual true fecha a tela de login e deixa aberto só a tela de menu
if(resultado==true){
dispose();
}
}
aproveitando o topico mais duas dúvidas.
1º O método passSenha.getText() que pega dados de um JPasswordField() está deprecated como eu resolvo isso.
2º Eu tenho um método na minha classe DAO que retorna um list com os dados da consulta.
exemplo:
public Collection findTodos()throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM Produto");
ResultSet rs = stmt.executeQuery();
Collection list = new ArrayList();
while (rs.next()) {
// criando o objeto produto
Produto produto = new Produto();
produto.setCodigoProd(rs.getInt("codigoProd"));
produto.setNomeProd(rs.getString("nomeProd"));
produto.setDescricaoProd(rs.getString("descricaoProd"));
produto.setQuantidadeAtualProd(rs.getInt("quantidadeAtualProd"));
// adicionando o objeto à lista
list.add(produto);
}
rs.close();
stmt.close();
return list;
}
E se por exemplo eu pegasse dados de duas ou mais tabelas como que ficaria esse método.
Mais uma coisinha sobre essa condição.
//se a variavel resultado for igual true fecha a tela de login e deixa aberto só a tela de menu
if(resultado==true){
dispose();
}
Essa condição só funciona se o usuário entrar com o usuário e a senha corretas, caso contrario ela fecha a tela de login mesmo você clicando no login. Então como eu faço pra tela de login desaparecer quando a tela de menu aparecer. Mais uma vez obrigado.
Ola pessoa! eu estava com o mesmo problema que ele (respeito ao login), agora surgiu outro… eu criei a a classe login com main. Deu tudo certo… mas eu naum consigo chamar a classe do menu…
try{
while (x<3){
rs = stmt.executeQuery("SELECT * FROM USUARIO WHERE USU_LOG = '"+ JTFLog.getText()+"'");
while(rs.next()){
if(JPFSen.getPassword().toString() == rs.getString("USU_SEN")){
JIFPrinc = new JIFPrincipal();
JIFPrinc.setVisible(true);
x=3;
}
else{
JLStatus.setText("Senha ou Login INVALIDO(S)");
JTFLog.requestFocus();
x++;
}
}
}
// dispose();
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro na Conexão. Erro: " + e.getMessage(), ProgNome, JOptionPane.ERROR_MESSAGE);
}
assim q esta o comando para verificar a senha e o login…
to tendo dois problemas…
1º naum esta dando certo para verificar a senha
2º naum consigo chamar o Menu principal (JIFPrincipal)