Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigo.rrch

[Resolvido] Passar dados entre 2 jDialog pelo construtor

Recommended Posts

Bom dia, tudo bem ?

 

Tenho uma duvida relacionado a passar dados via construtor entre 2 jDialog (PesquisaPessoa, Venda)

 

O codigo faz os seguintes passos:

 

1 - Eu tenho meu jDialog Venda que chama o jDialog PesquisaPessoa

2 - No PesquisaPessoa eu pego todos os dados da linha selecionada do meu jTable e passo para um ArrayList ao pressionar o botão ok

3 - No construtor do Venda eu pego esse ArrayList e quero setar os dados em um jTextField na tela Venda ja criado

 

meu código esta o seguinte

 

// VENDA

public Venda(java.awt.Frame parent, boolean modal, ArrayList<String> listaVenda) {
super(parent, modal);
initComponents();

this.listaVenda = listaVenda;                

String id = listaVenda.get(0);
String nome = listaVenda.get(1);

jTextFieldCliente.setText(id);
jLabelNomeCliente.setText(nome);               
}

 


// PESQUISAPESSOA

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

// Pego a linha da tabela (Estou usando abstract)
jTablePesPessoa.getSelectedRow();

// Criei um Vetor para guardar os dados
Vector<Object> linha = new Vector<Object>();

// Salvo no vetor
for(int i=0; i<jTablePesPessoa.getColumnCount(); i++){
   linha.addElement( jTablePesPessoa.getValueAt( jTablePesPessoa.getSelectedRow(),i));                        
}

// O metodo VetorPataStr serve para mudar todos os dados para uma arrayList de String
// Chamo o contrutor de Venda
vd = new Venda(null, true, pc.vetorParaStr(linha)); 

vd.setVisible(true);
}

 

Quando eu chamo "vd.setVisible(true);" ele cria uma outra tela do jeitinho que eu quero. Porem eu não gostaria que criasse uma outra tela. E sim usasse a tela que ja foi chamada antes.

 

Estou tentando fazer o seguinte.. Quando clico em ok a tela PesquisaPessoa some e insere os dados na tela Venda anterior.

 

Obrigado desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se na sua classe PesquisaPessoa já tiver um setVisible(true) no construtor, parece que não há necessidade de você setar este valor novamente, pois no construtor você já está dizendo quais ações efetuará ao criar este objeto.

 

Então, digamos que você tem mais ou menos assim:

public class PesquisaPessoa extends JFrame{

    public void PesquisaPessoa(){
         initComponents();
         this.setVisible(true);
    }

}

 

Ao criar este objeto, seu construtor fará o trabalho pra ti, sem a necessidade de fazer:

import PesquisaPessoa;

public class Main{

     public static void main(String args[]){
         PesquisaPessoa pessoa = new PesquisaPessoa(); // sem o setVisible()

     }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.