[Resolvido] - Setar informações de uma classe em outra

Eu fiz uma aplicação com duas telas, uma de cadastro e outra de que mostra o consumo do cliente.
Na tela cadastro tem um botão “consumo”, onde pode ser feita a pesquisa do que o cliente consumiu, mas eu quero jogar esses dados em outra tela dentro de um JLabel.
Eu fiz… mas ele não mostra as informações.

Botão consumo

[code]private void BT_PesqConsumoMouseClicked(java.awt.event.MouseEvent evt) {
if (TF_Pesquisa.getText().isEmpty()){
JOptionPane.showMessageDialog(null, “Digite o CPF para efutar a consulta.”);
}

        else if(TF_Pesquisa.getText() != null){
        try {
        
        String comando = "select nome,cpf,codbarras"
              + " FROM cliente WHERE cpf ='" +TF_Pesquisa.getText()+ "'";  
        PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);  
        //esse retornaConexao está tratando da conexão com o bd.  
        ResultSet rs = prep.executeQuery();  
        
        if(rs.next()){
        //rs.next();
        //se for Varchar ou char usa rs.getString
        String Nome = rs.getString("nome");   
        int Cpf = rs.getInt("cpf");
        int Codbarras = rs.getInt("codbarras");
        
        Consumo valor = new Consumo();
        valor.alterText( String.valueOf(Nome) );
        valor.alterText( String.valueOf(Cpf) );
        valor.alterText( String.valueOf(Codbarras) );
        
        Consumo ir = new Consumo();
        ir.setVisible(true);
        dispose();
        }
        
        else{
            JOptionPane.showMessageDialog(null, "Cliente não encontrado!"); 
        }
        
        } catch (SQLException e){    
        e.printStackTrace();  

        } catch (Exception e){  
        e.printStackTrace();  
        }
        }   
    
}[/code]

Classe que devia setar os dados.

public void alterText(String textoLabel ) // passa uma String { LB_Nom.setText(textoLabel); LB_Cpf.setText(textoLabel); LB_Codi.setText(textoLabel); }

Tks Galerinha.

passa o objeto em questão por parametro entre uma janela e outra.
:slight_smile:

Dei uma olhadinha por ae… mas não entendi muito bem.

Bom… eu alterei assim (tentando usar os parametros). Mas não continua sem mostrar…

Botão Pesquisar Consumo na classe Cadastro

[code] private void BT_PesqConsumoMouseClicked(java.awt.event.MouseEvent evt) {
if (TF_Pesquisa.getText().isEmpty()){
JOptionPane.showMessageDialog(null, “Digite o CPF para efutar a consulta.”);
}

        else if(TF_Pesquisa.getText() != null){
        try {
        
        String comando = "select nome,cpf,codbarras"
              + " FROM cliente WHERE cpf ='" +TF_Pesquisa.getText()+ "'";  
        PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);  
        //esse retornaConexao está tratando da conexão com o bd.  
        ResultSet rs = prep.executeQuery();  
        
        if(rs.next()){
        //rs.next();
        //se for Varchar ou char usa rs.getString
        String Nome = rs.getString("nome");   
        int Cpf = rs.getInt("cpf");
        int Codbarras = rs.getInt("codbarras");
        
        Consumo valor = new Consumo();
        valor.alterText(Nome, Cpf, Codbarras);

        
        Consumo ir = new Consumo();
        ir.setVisible(true);
        dispose();
        }
        
        else{
            JOptionPane.showMessageDialog(null, "Cliente não encontrado!"); 
        }
        
        } catch (SQLException e){    
        e.printStackTrace();  

        } catch (Exception e){  
        e.printStackTrace();  
        }
        }   
    
}[/code]

E na classe Consumo

[code]public void alterText(String Nome, int Cpf, int Codbarras) // passa uma String
{
LB_Nom.setText(Nome);
LB_Cpf.setText(String.valueOf(Cpf));
LB_Codi.setText(String.valueOf(Codbarras));

}[/code]

lol … agora sim fiquei sem entender nada. Mandei ele me dar um println, não é possivel ele não armazenar os dados.
E ae que está a coisa mais estranha… ele está armazenando sim. Ele printou os dados normais. @-@

Banco Conectado.
Andressa Cam 1212

Pq vc cria 2 instâncias da classe Consumo? Será q não é esse o problema?

[quote=Alix]Bom… eu alterei assim (tentando usar os parametros). Mas não continua sem mostrar…

Botão Pesquisar Consumo na classe Cadastro

[code] private void BT_PesqConsumoMouseClicked(java.awt.event.MouseEvent evt) {
if (TF_Pesquisa.getText().isEmpty()){
JOptionPane.showMessageDialog(null, “Digite o CPF para efutar a consulta.”);
}

        else if(TF_Pesquisa.getText() != null){
        try {
        
        String comando = "select nome,cpf,codbarras"
              + " FROM cliente WHERE cpf ='" +TF_Pesquisa.getText()+ "'";  
        PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);  
        //esse retornaConexao está tratando da conexão com o bd.  
        ResultSet rs = prep.executeQuery();  
        
        if(rs.next()){
        //rs.next();
        //se for Varchar ou char usa rs.getString
        String Nome = rs.getString("nome");   
        int Cpf = rs.getInt("cpf");
        int Codbarras = rs.getInt("codbarras");
        
        Consumo valor = new Consumo();
        valor.alterText(Nome, Cpf, Codbarras);

        
        Consumo ir = new Consumo();
        ir.setVisible(true);
        dispose();
        }
        
        else{
            JOptionPane.showMessageDialog(null, "Cliente não encontrado!"); 
        }
        
        } catch (SQLException e){    
        e.printStackTrace();  

        } catch (Exception e){  
        e.printStackTrace();  
        }
        }   
    
}[/code]

E na classe Consumo

[code]public void alterText(String Nome, int Cpf, int Codbarras) // passa uma String
{
LB_Nom.setText(Nome);
LB_Cpf.setText(String.valueOf(Cpf));
LB_Codi.setText(String.valueOf(Codbarras));

}[/code][/quote]

É como o colega Andersonrms disse, é provável que o problema esteja na instanciação de 2 Telas de Consumo, na tela de Consumo valor você altera o texto dos JLabels, mas não manda visualizar a tela, e então cria outra tela Consumo ir e sem alterar os JLabels você exibe a tela, logo não vai apresentar nada.
Ou não é isso?

Eu não tinha reparado nisso. ------------------------
kkkkk… passei um dia todo tentando ver onde eu estava errando e era algo tão simples.

Obrigada Meninos… sz