Acredito que consigo te ajudar. Tem como postar os métodos?
E
elio.cruz
Vc está criando uma instância diferente para cada método? Caso sim, pode verificar em cada método se já existe alguma instância criada, se não existir vc estância o objeto referente ao método chamado. Consegui ser claro? Não sei se é a maneira mais elegante, porém deve funcionar.
Abraço.
G
grippa
Isto esta destro do metodo construtor da classe venda
//atalho finalizar venda com o botão f7 s\impr KeyStrokeescapeKeyStroke=KeyStroke.getKeyStroke(KeyEvent.VK_F7,0,false);//Botão da ação javax.swing.ActionescapeAction=newAbstractAction(){publicvoidactionPerformed(ActionEvente){StringtotalS=(tfTotal.getText());doubletotal=Double.parseDouble((totalS).replace(".","").replace(",","."));if(total==0.00)JOptionPane.showMessageDialog(null,"Nenhuma venda foi inicializada !!");else{try{updateVenda("SP");btFinalizar.requestFocus();newFinalizarVenda(Vendas.this,"s/p",codVenda,idVenda).setVisible(true);}catch(SQLExceptionef){ef.printStackTrace();}}}};getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeKeyStroke,"Sem impressão");//Nome da ação getRootPane().getActionMap().put("Sem impressão",escapeAction);//atalho finalizar venda com o botão f8 fiscal KeyStrokeescapeKeyStroke5=KeyStroke.getKeyStroke(KeyEvent.VK_F8,0,false);//Botão da ação javax.swing.ActionescapeAction5=newAbstractAction(){publicvoidactionPerformed(ActionEvente){StringtotalS=(tfTotal.getText());doubletotal=Double.parseDouble((totalS).replace(".","").replace(",","."));if(total==0.00)JOptionPane.showMessageDialog(null,"Nenhuma venda foi inicializada !!");else{try{updateVenda("FI");btFinalizar.requestFocus();newFinalizarVenda(Vendas.this,"fiscal",codVenda,idVenda).setVisible(true);}catch(SQLExceptionef){ef.printStackTrace();}}}};getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeKeyStroke5,"Fiscal");//Nome da ação getRootPane().getActionMap().put("Fiscal",escapeAction5);//atalho finalizar venda com o botão f6 comprovante KeyStrokeescapeKeyStroke6=KeyStroke.getKeyStroke(KeyEvent.VK_F6,0,false);//Botão da ação javax.swing.ActionescapeAction6=newAbstractAction(){publicvoidactionPerformed(ActionEvente){StringtotalS=(tfTotal.getText());doubletotal=Double.parseDouble((totalS).replace(".","").replace(",","."));if(total==0.00)JOptionPane.showMessageDialog(null,"Nenhuma venda foi inicializada !!");else{try{updateVenda("RO");btFinalizar.requestFocus();newFinalizarVenda(Vendas.this,"comprovanteNaoFiscal",codVenda,idVenda).setVisible(true);}catch(SQLExceptionef){ef.printStackTrace();}}}};getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeKeyStroke6,"Comprovante");//Nome da ação getRootPane().getActionMap().put("Comprovante",escapeAction6);
E
elio.cruz
Vc pode criar uma variável booleana global( boolean jframeAberto = falso), que identifica se a JFrame está aberta ou não. E dentro de cada método, faz a verificação antes de executar a rotina.
Caso esteja preenchida com false, você executa a rotina e preenche a variável com true.
Caso esteja preenchida com true, você não executa a rotina.
Abraço.
G
grippa
Vlw elio.cruz
uma solução simples que resolveu meu problema.
Até mais.
E
elio.cruz
grippa:
Vlw elio.cruz
uma solução simples que resolveu meu problema.
Até mais.
grippa,
=D
E
elio.cruz
Grippa,
Interessante que vc coloque no assunto do tópico [RESOLVIDO].