Como chamar um metodo de um form de dentro de outro

6 respostas
java
A

Pessoal, boa noite!

Seguinte, acabei de criar um form de pesquisa, mas neste vai conter os textboxs relacionados aos campos a serem pesquisadas. a grid da tela que chamou que será alterada. Até ai ok, o problema é que o método está na tela frmCadUsuarios e não consigo chamar ele. Vamos a prática: Esta tela (frmCadUsuarios) tem um botão pesquisa que vai abrir o form de pesquisa conforme codigo abaixo:

private void tb_btn_pesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        frmPesqUsuarios pesq_usu = new frmPesqUsuarios();
        pesq_usu.setLocationRelativeTo(null);
        pesq_usu.setVisible(true);
}
E tem também o método pesquisar:

public void pesquisarUsuarios()

{

String sql = “Select * from usuarios where nome like ?”;
try{
        pst = conecta.prepareStatement(sql);
        //pst.setString(1, txtPesqNome.getText()+"%");
        rs = pst.executeQuery();
        
        tbUsuarios.setModel(DbUtils.resultSetToTableModel(rs));
    }
    catch(SQLException error)
    {
        JOptionPane.showMessageDialog(null, error);
    }
}

AI vou eu na tela frmPesqUsuarios. Nela coloquei no evento ReleaseKey do textbox nome:

private void txtNomeKeyReleased(java.awt.event.KeyEvent evt) {                                    
    frmCadUsuarios.pesquisarUsuarios();
}

E não funciona. Como estou aprendendo Java, devo estar fazendo algo de errado. Se vocês puderem me ajudar seria ótimo.
Tentei importar mas como ambos estão dentro do mesmo pacote o NetBeans falou que não precisa.

Agradeço pela atenção e ajuda :slight_smile:

6 Respostas

G

Leia sobre o padrão MVC, isso vai ajudar bastante.

Você tem responsabilidades de acesso à base de dados junto com a View da sua aplicação.

Criando componentes separados para estas resposabilidades a reusabilidade vai ficar bem tranquila e da forma como você quer.

Mas eu indicaria que antes de você tentar resolver seu código, leia sobre o padrão MVC para desktop (que é um pouco diferente p/ WEB), leia sobre padrão DAO, faça exemplos simples, veja exemplos simples…

E depois baseado nos seus aprendizados, tenho certeza que você corrigirá seu código e ficará com um ótimo reaproveitamento e organização.

Abs

A

Tranquilo!

O que estou tendo dificuldades no MVC é que parece que tudo se cria por código, inclusive a interface dos forms e isso toma muito o tempo.

Mas vou dar uma olhada sim, vlw :slight_smile:

G

Não confunda as coisas…

MVC é um padrão de arquitetura de desenvolvimento do sotware…

Sobre criar sua interface por código, é que na verdade é assim que as coisas são feitas, mesmo os componentes visuais.

O que existem são plugins (no caso do Eclipse) p/ otimizar seu tempo no desenvolvimento de interfaces gráficas, dentre os mais famosos, o NetBeans, foi amplamente aceito pela comunidade desde o início quando se fala em desenvolvimento gráfico, pela ótima interface que disponibiliza para a montagem de telas sem “colocar” a mão no código.

Mas no fundo no fundo… é tudo código. :stuck_out_tongue:

Ah… vc entendeu né… hehehe

A

Sim sim, obrigado Gui!

Sou das antigas da época procedural, FoxPro, etc. mas tenho boa lógica. Só não entendo de Java e essa metodologia MVC. Todos os exemplos que pego no youtube tratam os componentes visuais por código, não sei porque.

Vou ver se uso o hibernate também na aplicação, dizem que ajuda bastante. Tenho que entender dele também…

Saberia me dizer qual a ferramenta de relatórios mais utilizada em Java Desktop? Uma que gere em word, excel, pdf, etc. E se possível gráficos também.

E uma api de log que eu to precisando haha ai fecha o crud :slight_smile:

Mas você ajudou bastante, não tem porque complicar se a coisa é fácil. É só entender como funciona.

Abraços,

Alessandro.

G

De uma olhada nesses caras:

  • JasperReport (Framework de Geracao de Relatorios (Tanto Web como Desktop, tanto faz), utiliza o iReport p/ montar os templates :wink: ) (PDF, HTML, …)

  • Para gerar Word e Excel tem outras bibliotecas da Apache que fazem isso

  • Log4J, API de log, da uma olhada nela… bem simples de usar.

  • Antes de ir p;/ Hibernate, entenda bem como funciona as conexões JDBC, os recursos que tem por trás de uma consulta… (Connection… PreparedStatement,… ResultSet… Transações…) depois tu parte p/ um framework… tipo Hibernate…

Abs

A

Maravilha,

Sua resposta já está salva na minha área de trabalho. Dever de casa \o/

Obrigado!

Criado 13 de janeiro de 2016
Ultima resposta 14 de jan. de 2016
Respostas 6
Participantes 2