Ajuda com Página de Login em uma Aplicação desktop

7 respostas
Oziel_Morais
Olá, estou desenvolvendo uma aplicação desktop em java com o Netbeans, meu professor quer que quando executar a aplicação apareça uma página de login que ja possua um administrador cadastrado no banco de dados mysql, para fazer o login e que quando ele faça o login abra uma pagina para cadastrar usuário e após cadastrar esse usuário a tela retorne a de login inicial para que seja feita o login com o usuário agora criado, e após esse login aí é que abra a pagina inicial da Aplicação. O código que consegui desenvolver foi esse por Favor estou precisando de muita ajuda.
import java.sql.*;
import javax.swing.JOptionPane;

public class ClassLogin {
    
    public ClassLogin () {    }
    
    private String login;
    private String senha;
    
    
    public void setUsuario(String _login, String _senha){
        this.login = _login;
        this.senha = _senha;
    }
    
    public String getLogin(){
        return this.login;
    }
    
    public String getSenha(){
        return this.senha;
    }
    
    
    ClassConecta conexao = new ClassConecta();
    ClassDatas dataCadastro = new ClassDatas();
    ClassAuditoria audita = new ClassAuditoria();
     
    
    
    Statement stmt = null;
   
  void PegaFLogon(){        
        conexao.conecta();
 	ResultSet rs = null;
        try{
            stmt = conexao.con.createStatement();
            String Sql  = "SELECT * FROM flogon";
           rs = stmt.executeQuery(Sql); 

          
           // AXO QUE FALTA MAIS ALGUMA COISA AQUI
           
            stmt.close();            
            conexao.con.close();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador: '" + e + "'","ATENÇÃO",JOptionPane.WARNING_MESSAGE);             
        }
      }
}

Aqui é o código do Botão salvar do formulário JFrame

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
    if(txtUser.getText().length() == 0 || txtSenha.getPassword().length == 0 ){        
         JOptionPane.showMessageDialog(null,"Preencha os campos","ATENÇÃO",JOptionPane.WARNING_MESSAGE);         
        }else{
       ClassLogin login = new ClassLogin();
        login.setUsuario(txtUser.getText(), txtSenha.getText());
        login.PegaFLogon();
        
       // System.out.println(" ");
        
        
            FCadUser u = new FCadUser();
              u.show();
            
        
       // usuario.incluiUsuario();
        }
         this.dispose();
                                             
}

Aguardo Respostas....

7 Respostas

ViniGodoy

Tópico movido para o fórum de interface gráfica.

M
Oziel Morais:
Olá, estou desenvolvendo uma aplicação desktop em java com o Netbeans, meu professor quer que quando executar a aplicação apareça uma página de login que ja possua um administrador cadastrado no banco de dados mysql, para fazer o login e que quando ele faça o login abra uma pagina para cadastrar usuário e após cadastrar esse usuário a tela retorne a de login inicial para que seja feita o login com o usuário agora criado, e após esse login aí é que abra a pagina inicial da Aplicação. O código que consegui desenvolver foi esse por Favor estou precisando de muita ajuda.
import java.sql.*;
import javax.swing.JOptionPane;

public class ClassLogin {
    
    public ClassLogin () {    }
    
    private String login;
    private String senha;
    
    
    public void setUsuario(String _login, String _senha){
        this.login = _login;
        this.senha = _senha;
    }
    
    public String getLogin(){
        return this.login;
    }
    
    public String getSenha(){
        return this.senha;
    }
    
    
    ClassConecta conexao = new ClassConecta();
    ClassDatas dataCadastro = new ClassDatas();
    ClassAuditoria audita = new ClassAuditoria();
     
    
    
    Statement stmt = null;
   
  void PegaFLogon(){        
        conexao.conecta();
 	ResultSet rs = null;
        try{
            stmt = conexao.con.createStatement();
            String Sql  = "SELECT * FROM flogon";
           rs = stmt.executeQuery(Sql); 

          
           // AXO QUE FALTA MAIS ALGUMA COISA AQUI
           
            stmt.close();            
            conexao.con.close();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador: '" + e + "'","ATENÇÃO",JOptionPane.WARNING_MESSAGE);             
        }
      }
}

Aqui é o código do Botão salvar do formulário JFrame

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
    if(txtUser.getText().length() == 0 || txtSenha.getPassword().length == 0 ){        
         JOptionPane.showMessageDialog(null,"Preencha os campos","ATENÇÃO",JOptionPane.WARNING_MESSAGE);         
        }else{
       ClassLogin login = new ClassLogin();
        login.setUsuario(txtUser.getText(), txtSenha.getText());
        login.PegaFLogon();
        
       // System.out.println(" ");
        
        
            FCadUser u = new FCadUser();
              u.show();
            
        
       // usuario.incluiUsuario();
        }
         this.dispose();
                                             
}

Aguardo Respostas....

Amigo, qual sua dúvida?

No seu código, qualquer usuário e senha diferente de 0 vai acessar o sistema?

Oziel_Morais

Minha dúvida é como fazer para diferenciar um administrador de um usuário comum. Tipo assim se Administrador Abra página de cadastro de usuário, se não se usuario comum abra abra página inicial.

M

Pode criar uma coluna no seu BD chamada “permissao” e criar um metodo para verificar que tipo de usuario se logou no sistema.

Ae por exemplo, você cria os grupos de usuario que vai existir. Por exemplo, no momento da Criação do Usuario, você pode colocar uma Caixa de Combinação para dizer que tipo de Usuario esta cadastrando, se é Administrador ou Normal.

Se Administrador…

[Execute isso]

Se não é Administrador…

[Execute isso]

Entendeu?

Oziel_Morais

Entendi, na teoria sei que o certo é isso, Criei minha tabela no Bd com as seguintes colunas "Login, Senha, e tem a caixa de combinação para escolher se é usuário comum ou administrador " Mais minha maior dúvida é em relação ao código não estou conseguindo implementar sempre dá erro queria que vc’s me Ajudassem …
Obrigado.
Fico no Aguardo por respostas…

M

Oziel Morais:
Entendi, na teoria sei que o certo é isso, Criei minha tabela no Bd com as seguintes colunas "Login, Senha, e tem a caixa de combinação para escolher se é usuário comum ou administrador " Mais minha maior dúvida é em relação ao código não estou conseguindo implementar sempre dá erro queria que vc’s me Ajudassem …
Obrigado.
Fico no Aguardo por respostas…

Sempre da erro onde?

Vou tentar da uma luz…

Na sua aplicação, você vai ter um jText e um jPasswordField. Vai utilizar o metodo getText() para obter as informações digitadas pelo usuario.

Vai armazenar as informações em 2 variaveis do tipo String, e vai comparar com as informações do seu Banco de Dados.

Cria uma condição com o IF usando Operador Lógico And para se o Usuario e Senha forem iguais ao do Banco de Dados, então vai abrir a tela principal.

Se o Usuario e Senha digitados estiverem iguais, pode criar um metodo para verificar que tipo de usuario se logou, e então mostrar as informações de acordo com o tipo de usuario.

Tente fazer seu código em cima do informado, a partir de possiveis erros posso lhe ajudar.

Espero ter lhe ajudado

Oziel_Morais

Meu código é esse aí logo acima mais não tá dando certo vc não teria um código parecido para mim basear por ele e entender melhor ???

Criado 2 de fevereiro de 2012
Ultima resposta 2 de fev. de 2012
Respostas 7
Participantes 3