Duvida - Passar dados entre 2 jDialog pelo construtor
Bom dia, tudo bem ?
Tenho uma duvida relacionado a passar dados via construtor entre 2 jDialog (PesquisaPessoa, Venda)
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
meu código esta o seguinte
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 (quando clico em ok a tela PesquisaPessoa some e insere os dados na tela Venda anterior).
Obrigado desde ja.
Tenho uma duvida relacionado a passar dados via construtor entre 2 jDialog (PesquisaPessoa, Venda)
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
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 (quando clico em ok a tela PesquisaPessoa some e insere os dados na tela Venda anterior).
Obrigado desde ja.
Renato Chinaglia
Curtidas 0
Respostas
Davi Costa
12/12/2012
Nesse caso o segundo frame que vc abre vai ter que ser um singleton.
É um excelente padrão de projeto que vai resolver seu problema, pesquisa na rede caso tenha dúvida só postar aqui
att Davi
É um excelente padrão de projeto que vai resolver seu problema, pesquisa na rede caso tenha dúvida só postar aqui
att Davi
GOSTEI 0
Renato Chinaglia
12/12/2012
Obrigado Davi Gomes da Costa
Vou pesquisar sobre isso
Abraço
Vou pesquisar sobre isso
Abraço
GOSTEI 0
Davi Costa
12/12/2012
Quaisquer dúvida sobre esse padrão é só avisar
att Davi
att Davi
GOSTEI 0
José
12/12/2012
Como a duvida aparentemente foi sanada, estou dando o tópico por concluído.
GOSTEI 0