Pegar informação de uma tela e setar no jtextfield de outra tela

Olá gente, tenho uma jiternalFrame de venda tem o campo para inserir o codigo do produto mas se estiver vazio abre uma tela de consulta que tambem é em jinternaoframe minha duvida é como pegar o id do produto selecionado na tela de consulta e setar para o jtextfield da tela de venda?

Olá, vc pode passar o seu primeiro jInternalFrame como referencia pra o seu segundo jInternalFrame, dessa forma, vc poderá utilizar os métodos setText(), por exemplo do teu jTextField do primeiro frame. Segue exemplo, quando o botão de pesquisar for clicado no primeiro frame:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){                                         
  segundo seg = new segundo(this);  //passagem de referencia do primeiro para o segundo frame
  seg.jTextField1.setText(this.jTextField1.getText());
  seg.jTextField2.setText(this.jTextField2.getText()); 
  seg.setVisible(true);

Lembrando, q vc vai ter de criar um construtor no segundo frame p receber o primeiro, depois é só utilizar os métodos do primeiro frame e vice-versa.:slight_smile:

Boa noite mas ainda nao consegui entender a explicação do construtor …

Vc vai passar o seu primeiro frame como referência para o segundo, desta forma vc vai poder alterar a primeira tela colocando informações na segunda(observe que eu já passei ele, o primeiro frame utilizando o this na primeira resposta), exemplo do construtor na segunda tela:

private primeiro p;
public segundo(primeiro referenciaParaoPrimeiro){
  this.p = referenciaParaoPrimeiro;
}

Dessa forma, vc pode usar os métodos do primeiro frame, na sua segunda tela entendeu, ja que vc armazenou a referencia da primeira tela na variável p , exemplo de método da segunda tela para alterar os campos da primeira:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){                                         
  p.jTextField1.setText(this.jTextField3.getText());//usando a referência q vc recebeu no seu construtor sem precisar instanciar outra primeira tela
  p.jTextField2.setText(this.jTextField4.getText());
}

esta dando a seguinte exception:

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

na tela de venda fiz o seguinte quando chamo a tela de consulta

TelaConsultaProd consultaProd = new TelaConsultaProd();

depois na tela de consulta de produto no construtor fiz o seguinte

private TelaVenda telaVenda;
    public TelaConsultaProd(TelaVenda aThis) {
        this.telaVenda = aThis;
    }

e quando clico no button executa o codigo abaixo:

JOptionPane.showMessageDialog(null, tblProduto.getValueAt(tblProduto.getSelectedRow(), 0).toString());
        telaVenda.txtCod.setText("1");

mas me manda a seguinte exceção que informei …

Resolvido !!!
Estava comento barriga pois quando colocava o this quando instanciava a segunda tela na primeira tela o netbeans criava um novo construtor na segunda tela alem do que ja existia, feito o ajuste para ficar apenas um construtor deu certo.
Muito Obrigado pela ajuda :slight_smile:

Show de bola!