Método GET não retorna o valor do atributo

abaixo parte da classe:

criando a classe e iniciando a variável

public class buscaClienteMdb extends javax.swing.JFrame {
    
    private int cod;
    (...)

atribuindo valor pra variável

    private void jBtnOkActionPerformed(java.awt.event.ActionEvent evt) {                                       
        cod = Integer.parseInt(jTblDados.getValueAt(jTblDados.getSelectedRow(),0).toString());
        dispose();
        
        ordemServico frmOS = new ordemServico();
        frmOS.retornoConsulta();
    }                                      

encapsulando o cod e permitindo o acesso

    public int getCod() {
        return cod;
    }

chamando a classe a partir de outro objeto

    public void retornoConsulta(){
        int cd = frmBusca.getCod();
        JConexaoMdb mdb = new JConexaoMdb("odbc","sun.jdbc.odbc.JdbcOdbcDriver","form","","","","");
        mdb.conect();        
        try{
            ResultSet rs = mdb.getStatment().executeQuery("select * from CLIENTES " +
                    "where ID_CLIE = " +
                    cd +
                    " order by ID_CLIE;");
            
            rs.first();
            
            jTxtEndereco.setText(rs.getString("ENDE_CLIE"));
            jTxtBairro.setText(rs.getString("BAIR_CLIE"));
            jTxtCidade.setText(rs.getString("MUNI_CLIE"));
            jCboEstado.setSelectedItem(rs.getObject("UF_CLIE"));
            jFTxtCEP.setText(rs.getString("CEP_CLIE"));
            jFtxtCnpj.setText(rs.getString("CGC_CLIE"));
            
        }catch (SQLException ex){
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }

na hora que passo o codigo através do GET o valor vem zerado
não consegui descobrir!
se alguém tiver alguma idéia do estou fazendo de errado me clarei ai!
valeu por enquanto

Ola bruno,
uma boa pratica, seria setar a variavel por um setter…
ou seja ter uma função do tipo:

private void setCod(int code) {
cod = code;
}

utilize essa função ao invez de utilizar cod = …
ok?
Abraço

para que o cod receba um valor o metodo jBtnOkActionPerformed deve ter recebido um evento antes…

private void jBtnOkActionPerformed(java.awt.event.ActionEvent evt) {    

Quantos testes unitários você fez para este código? :slight_smile:

Aproveite este tipo de problema para treinar e começar a testar seus programas.

muitos testes foram feitos, sem teste esta mensagem nem estaria aqui cara! tanto é que consegui uma solução pra isso com testes, mas o que quero é por o GET pra funcionar

Zakim, mas o metodo que voce menciono recebe o evento de clique no BtnOK! não entendi muito bem sua colocação!

Bom dia cara.

Tenta colocar o dispose() por último.

ordemServico frmOS = new ordemServico(); 
frmOS.retornoConsulta(); 
dispose(); 

Abraço.

[quote]
Tenta colocar o dispose() por último.[/quote]

entao mark coloquei o dispose por ultimo mas o cod continua zerando
quando chamo a funcao do outro frame!

eu dei uma solução, mas acho que não é viável
criei um contrutor para classe retornoConsulta(int cod),
dai passo o parametro na hora da construção do objeto, funciono legal
só que queria ver o GET em ação!

eu debuguei e o cod tá recebendo valor, mas na hora que chamo a classe
do outro frame o cod zero e dai o gerCod também zera!

Poderia colocar o código do teste aqui para facilitar o entendimento então?

[ ]s, gc

[quote]guilherme.chapiewski

Quantos testes unitários você fez para este código?

[/quote]

me desculpe guilherme pelo mau entendido da minha parte,
quando fez menção de testes, não compreendi que se tratava de testar um método ou uma seqüencia de métodos de uma classe, sem a interferência de outras classes do sistema,

[quote]guilherme.chapiewski

Aproveite este tipo de problema para treinar e começar a testar seus programas.
[/quote]

ótima sugestão,
se possível me dar a dica de como começar a testar minhas classes
pelo que andei vendo, (após me tocar do que realmente vc estava falando)
existe uma ferramenta chamada JUNIT,
é por ai?

guilherme mais uma vez desculpe o mal entendido,
valeu a força!

Oi Bruno,

É isso aí, o JUnit é a ferramenta mais comum utilizada para testes unitários em Java.

Sugiro que você dê uma olhada num post do meu blog sobre Desenvolvimento Guiado por Testes (Test-Driven Development) que tem umas referências para alguns materiais sobre testes e coisas do tipo.

Abraços,
Guilherme

valeu guilherme, vou pesquisar!