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());
[
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());
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)
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
Pois eu dou um pega() no no evento
private void formComponentShown(java.awt.event.ComponentEvent evt) {
preenchendoCB();
pega();
// TODO add your handling code here:
}