Duvida Pegar Valores de Outro Form

7 respostas
colored

Então na Parte de Busca aki do Sistema, fiz assim uma table q mostra tudo q foi buscado na barra d busca…
Blz ai pra fazer update eu resolvi fazer o seguinte o usuario seleciona uma Linha e Clica em Editar,
Ai a ideia era Abrir um Formzinho Como os campos ja preenchidos com os dados da table la do otro Form…

Tipo da Pra fazer? Alguem poderia me dar uma direção q to meio Perdido e n sei como fazer isso kkkk…

Valeu Brigadao.;

7 Respostas

I

Falae cara,
eu fiz algo semelhante, mas eu abria um form com um jtable para selecionar os registros e depois eu atualizava o form principal para o registro selecionado para edição… (entendeu?):smiley:
Não sei se é a forma mais “correta” pra resolver isso, mas eu sempre passava para o meu form de busca o resultset que carregava os clientes e o form principal (que tem todos os jtextfields do cadastro).
No form principal eu tenho um método que mostra o registro de acordo com o que esta sendo apontado pelo resultset.
No form de seleção, quando clica em uma linha e depois no botão OK eu percorro o resultset passado até que ele encontre no resultset o registro que ele selecionou (para isso eu busco sempre por uma coluna fixa “CNPJ”) depois disso eu chamo o metodo para atualizar os dados do form principal.
segue trecho do código que faz isso.

private void BtOkActionPerformed(java.awt.event.ActionEvent evt) { try { con.first(); //seta o resultset passado para o primeiro registro :roll: int row = JTBuscaCliente.getSelectedRow(); //quarda a linha selecionada int col = 2; //sempre busca pela coluna CNPJ if (row == -1){ //se retorna -1 nao selecionou nenhum registro new Mensagens().msgInfo("Selecione um registro"); }else{ //busca sempre pela coluna 2 (cpf_cnpj do banco) String aux = (String)JTBuscaCliente.getValueAt(row, col); while (!con.getString("CPF_CNPJ").equalsIgnoreCase(aux)){ con.next(); } frame.mostraRegistros(); //Frame é o form passado para a classe que faz a busca e seleção frame.setVisible(true); dispose(); } } catch(SQLException ex) { new Mensagens().msgErro("Erro interno: "); } }

… Bom … é isso… meio complicado (principalmente a explicação hehe) mas funciona.
Boa sorte ae!

colored

N entendi Nada kkkkkkkkkkkkkkkk…

Tipo Meu Problema eh o Seguinte, Eu tenho esse Form Com essa Table q mostra todo os dados,
eu precisava saber c tem como eu pegar os valores da table e conseguir jogar em textfields em otro form…

Esse q eh meu Problema.

Andre_Brito

Você pode fazer um frame interno. Eu acredito que ficaria mais fácil. Ou ainda, você pode manter uma referência para o form que será aberto e enviar por parâmetros para um método.

Ou (acho que não faz muito sentido. Na verdade, não faz sentido) você pode manter as variáveis static e utilizar no outro form.

Eu ficaria com uma das duas primeiras.

I

Oi, Tem.
quando vc carrega o jtable vc usa um resultset do BD certo?
quando vc seleciona um registro na jtable vc deve percorrer o resultset até chegar no registro que foi selecionado no jtable, depois basta passar para o proximo form a ser aberto o resultset como paramentro.
dentro do form que foi aberto vc cria um metodo que pega os valores do resultset e seta eles nos jtext… blz?
para setar os valores nos jtextfields…:

nomeDoCampo.setText(rs.getString("NomeDaColunaNaTabela"));

falow.

colored

Tipo assim, Israel…

Mas Ai eu teria q executar o metodo dakele Form, meu problema eu n sei c eu conseguiria enchergar um componente eu estando em outro form.

I

o metodo para preencher os campos?
se vc usa banco de dados e passar o resultset para o novo form basta vc usar como eu expliquei…
Segue abaixo como eu uso no meu app.

//metodo para mostrar os registros que estao posicionados no resultset
public void mostraRegistros(){
        try {
            CpNome.setText(rs.getString("Nome"));           
            CpEndereco.setText(rs.getString("Endereco"));
            CpCpfCnpj.setText(rs.getString("CPF_CNPJ"));
            CpCidade.setText(rs.getString("CIDADE"));
                      
        } catch (SQLException ex) {
            new Mensagens().msgErro("Não foi possível mostrar registros: erro:0025");
        }
    }

para chamar o metodo quando abre o form…

mostraRegistros();
T

Boa tarde amigos…

Segui direitinho os passos acima mas encontro esse erro de saida:

if (theQueue.peekEvent() != null || !SunToolkit.isPostEventQueueEmpty()) { theQueue.initDispatchThread(); } AWTAutoShutdown.getInstance().notifyThreadFree(this); } } }
Alguem se habilita a me ajudar?

Thanks!

Criado 9 de setembro de 2008
Ultima resposta 12 de fev. de 2009
Respostas 7
Participantes 4