[Resolvido]Passando informações de um frame para outro

Então galera, estou tentando passar informações de um frame para outro e estou setando as informações que eu quero na classe “Serviços” onde fica os get e set…

No frame 2 eu dou o set( e dei o get para testar se passou certim e deu certo ) e no frame 1 crio o objeto e uso o get e não pega nada…

public void mandarDados(){ Serviços ser = new Serviços(); modelo = (DefaultTableModel)jTable1.getModel(); ser.setCodigo(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 0))); ser.setPreço(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 1))); ser.setServiço(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 2))); super.dispose(); new CadastroServiço(){}.show(); }

e pego assim

public void pega(){ Serviços sr = new Serviços(); jtfCodigo.setText(sr.getCodigo()); jtfServiço.setText(sr.getServiço()); jtfPreço.setText(sr.getPreço());

O que pode ser?

Grato!!

[ public void mandarDados(){ Serviços ser = new Serviços(); modelo = (DefaultTableModel)jTable1.getModel(); ser.setCodigo(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 0))); ser.setPreço(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 1))); ser.setServiço(String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 2))); super.dispose(); new CadastroServico(ser){}.show();//passando a referencia para o construtor da CadastroServico }

private Servicos sr;//declarando public CadastroServico(Servicos sr){ //recebendo a referencia this.sr = sr; } public void pega(){ jtfCodigo.setText(sr.getCodigo());//usando jtfServiço.setText(sr.getServico()); jtfPreco.setText(sr.getPreco());

Troquei “ç” por “c”, questão de boas práticas

Valeus cara… funcionou perfeitamente… so que agora eu coloquei um if para fazer um tratamento de botões e esta dando nullpointexception…

sabe me dizer o porque?

public void pega(){ //402 if(sr.getCodigo().equals("")){ //403 jbEditar.setEnabled(false); //404 jbDeletar.setEnabled(false); //405 }else{ //406 jtfCodigo.setText(sr.getCodigo()); //407 jtfServiço.setText(sr.getServiço()); //408 jtfPreço.setText(sr.getPreço()); //409 } //410 } //411

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at View.CadastroServiço.pega(CadastroServiço.java:403) at View.CadastroServiço.formComponentShown(CadastroServiço.java:269) at View.CadastroServiço.access$000(CadastroServiço.java:20) at View.CadastroServiço$1.componentShown(CadastroServiço.java:61) at java.awt.Component.processComponentEvent(Component.java:6337) at java.awt.Component.processEvent(Component.java:6285) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Window.processEvent(Window.java:2022) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) CONSTRUÍDO COM SUCESSO (tempo total: 10 segundos)

getCodigo deve estar retornando null.

public void pega(){ //402 System.out.println(sr.getCodigo());//pra confirma se está null if(sr.getCodigo() != null && sr.getCodigo().equals("")){ //alteração pra não gerar a exception jbEditar.setEnabled(false); //404 jbDeletar.setEnabled(false); //405 }else{ //406 jtfCodigo.setText(sr.getCodigo()); //407 jtfServiço.setText(sr.getServiço()); //408 jtfPreço.setText(sr.getPreço()); //409 } //410 } //41

Valeus cara!!

Resolvidassoo

Neste método que estou usando eu uso o dispose na janela atual e depois eu chamo ela novamente, porém tem algum método que eu somente chame a nova janela onde ela fica aberta em cima da outra ( isso ja consegui fazer ), só que quando eu passo o que eu quero para outra frame( usando neste novo método de não usar o dispose na outra janela) não passa nada.

Fazendo do primeiro jeito que eu você me ajudou funciona tudo certim… mas acho que não fica bom a janela fechar e depois abrir novamente :confused:
Pois eu dou um pega() no no evento

private void formComponentShown(java.awt.event.ComponentEvent evt) { preenchendoCB(); pega(); // TODO add your handling code here: }

Resolvi esta questão acima também… só que agora to com um problema kk

Tenho estas informações, estou setando nos campos mas não aparece nada tela…

fiz ate assim para ver…

jTFCliente.setText("dsadsa"); jtfEndereco.setText(cli.getEndereco());

depois dei um

JOptionPane.showMessageDialog(null,jTFCliente.getText());

E mostra o conteudo que setei no TextField, porém no “View” não aparece este valor… porque sera?