[RESOLVIDO] Atualizar Jtable através de um outro Jform
7 respostas
java
V
vicente_junior
Olá pessoal, sou iniciante em java, estou apenas aprendendo através de curso online, estou fazendo em meu teste uma aplicação, porém me deparei com um problema, e gostaria de uma ajuda, se possível.
Caso:
Fiz um tela de cadastro para cliente com uma tabela com os cliente cadastrado, e fiz uma tela para novo cadastro, agora vem a duvida, como atualizo a tabela que esta em outro form, quando eu clicar para salvar o cliente .
Desculpa, caso não fui muito claro.
Agradeço que ajudar.
Agora no seu outro form, que vc vai fazer o update:
privateForm1parent;//Declara o form1 - globalpublicForm2(Form1p){initComponents();this.parent=p;}
Aí pra atualizar você coloca no seu jButton:
Form1f1=(Form1)parent;f1.setValor(jTextField1.getText()); //Aqui ele vai pegar o que tá no jTextField1 do form2 e jogar no form1
rodriguesabner
Sim, é exatamente o código que eu mandei. No seu caso o usuário vai salvar o outro frame vai atualizar.
Você tentou? Deu algum erro?
Quando for enviar algum código, seleciona ele todo e clica no botão </>, assim ele vai formatar o seu código.
V
vicente_junior
Sim tentei, porém não deu nenhum erro, e nem atualizou a tabela.
rodriguesabner
Mostra como vc colocou no seu código, igual as partes que mandei
V
vicente_junior
privatevoidcarregarProdutos(){listaModelProdutos=controllerProdutos.retornarListaProdutosController();DefaultTableModelmodelo=(DefaultTableModel)jtbprodutos.getModel();modelo.setNumRows(0);// inserir produtos na tabelaintcont=listaModelProdutos.size();for(inti=0;i<cont;i++){modelo.addRow(newObject[]{listaModelProdutos.get(i).getProid(),listaModelProdutos.get(i).getProNome(),listaModelProdutos.get(i).getProValorCusto(),listaModelProdutos.get(i).getProValor(),listaModelProdutos.get(i).getProEstoque()});{}}}
>privatevoidjbsalvarActionPerformed(java.awt.event.ActionEventevt){>modelProdutos.setProNome(this.jtfnome.getText());>modelProdutos.setProEstoque(Integer.parseInt(this.jtfestoque.getText()));>modelProdutos.setProValorCusto(Double.parseDouble(this.jtfvalorcusto.getText()));>modelProdutos.setProValor(Double.parseDouble(this.jtfvalordevenda.getText()));>if(controllerProdutos.salvarProdutoController(modelProdutos)>0){>JOptionPane.showMessageDialog(this,"Produto cadastrado com sucesso");>ViewListadeProdutosf1=(ViewListadeProdutos)parent;>f1.setValor(ViewProdutos.getFrames());//aquinãoseioquecolocar>}else{>JOptionPane.showMessageDialog(this," Erro ao cadastrar o produto");>}>>}
rodriguesabner
Aqui você tem que colocar this dentro dos parenteses (senão dá erro) ViewProdutos obj = new ViewProdutos(this);
Aqui seria assim: f1.carregarProdutos();
V
vicente_junior2 likes
Abner deu certo, porem com f1.carregarProdutos(); este procedimento, ele deu um erro, dizendo que tinha que tornar o método privado…