Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Obrigado !!!
Consegui fazer aqui com sua dica.
Abraço
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(){
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[]){