Setar valor ao abrir o jframe

7 respostas
java
igoralves

Bom dia Pessoal,

Estou com uma duvida no seguinte processo,

Preciso que assim que o usuario abra a jframe especifica , a pessoa que fez login aparece em um label, porem nao sei por onde comecar … alguem poderia me dar um norte ?

Possuo uma classe que faz a validacao de login , porem nao consigo recuperar o valor depois que e feito o login

7 Respostas

darlan_machado

Códigos?
Pode postar os códigos?

igoralves

Opa,

Segue o link do repositorio do Git : https://github.com/Igoralves12/ErpInter

Tenho uma classe bean e model com o nome de Login, e na view venda possuo um label com o nome de jLogin, preciso setar o user que fez o login nesse label

staroski

Você possui várias classes com método main, qual delas é o ponto de entrada de sua aplicação?

Que classe é essa?

Que JFrame é esse?

igoralves

Fala ai Staroski tudo blz ?

1- viewLogin possui um evento no botao Login, que chama a classe Login no pacote bean

2- Pacote bean classe Login

3- JFrame no pocote model classe viewVenda

4- a inicial seria viewLogin no pacote view

Caso precise eu reprogramo a validacao de login

staroski

Na verdade a classe viewLogin possui um botão chamado btnCheck com o texto "Entrar".

Esse botão abre uma tela chamada viewMenu, veja:

private void btnCheckActionPerformed(java.awt.event.ActionEvent evt) {
    Login _new = new Login();     
    viewMenu frame = new viewMenu();
    String User = tUser.getText();
    String Pass = tPass.getText();
    int Type = 0;
    boolean login =_new.acessoLogin(User, Pass, Type) ;
    if (login == true) {
        dispose();
        frame.setVisible(true);
    } else {
        JOptionPane.showMessageDialog(null,"Login incorreto");
    }
}

Dica: Progure seguir as convenções de código do Java, nome de classe iniciando com letras maiúsculas. Nomes de variáveis começando com letra minúscula e nomes condizentes com o que as classes, objetos, variáveis e atributos representam.

Muda o seu método validarLogin para retornar o objeto Login ao invés de true ou false.
Aí você pode enviar esse objeto para sua tela, algo mais ou menos assim:

private void btnCheckActionPerformed(java.awt.event.ActionEvent evt) {
    try {
        String user = tUser.getText();
        String pass = tPass.getText();
        Login loginBean = new Login();
        Login objetoLogin = loginBean.acessoLogin(User, Pass, Type) ;
        this.dispose();
        viewMenu telaMenu = new viewMenu();
        telaMenu.setLogin(objetoLogin);
        telaMenu.setVisible(true);
    } catch (DeuPauNoLoginException erro) {
        JOptionPane.showMessageDialog(this, "Login incorreto");
    }
}
igoralves

Desculpa acredito que me perdi, voce criou um objeto Login e gerou um get e set na view ?

staroski

Sua classe Session se não me engano já criava o objeto Login, mas você não fazia nada com ele.

Só um set para enviá-lo à tela de interesse, não faz sentido ter um get.
Se você tivesse uma classe controladora pra fazer a ponte entre suas telas e o modelo de dados, aí a tela nem precisaria receber o Login.

Criado 3 de maio de 2019
Ultima resposta 3 de mai. de 2019
Respostas 7
Participantes 3