Problemas com doClick();

Estou com um seguinte problema: Estou criando uma calculadora dentro de um sistema onde cada botão tem o seu evento específico. Até ai blz. Quando vou implementar as teclas do teclado numérico através do método doClick(), da primeira vez ocorre tudo certo. Quando eu fecho a calculadora (ainda com o sistema aberto) e vou executa-la de novo, parece que ela fica meio perdida no doClick(); ela tenta executar o método de acordo com a quantidade de vezes que eu já abri a calculadora. Alguém saberia como tratar isso ?

segue o fonte:

/**  
    * This method initializes  
    *  
    */   
public CalcFolha() {   
super();   
eventosDeOperacao(); // este é o método que chama a "configuracao" para o doClick();   
initialize();   
}   
  
..   
  
public void eventosDeOperacao() { // este método cria as acoes para o botao   
AWTEventListener listener = new AWTEventListener() {   
  public void eventDispatched(AWTEvent ev) {   
    if (ev instanceof KeyEvent) {   
      KeyEvent ke = (KeyEvent) ev;   
      if (ke.getID() == KeyEvent.KEY_PRESSED) {   
        pressedOp(ke.getKeyCode());   
      }   
    }   
  }   
};   
Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);   
}   
  
..   
  
private void pressedOp(int code) { // este executa as acoes   
switch (code) {   
case KeyEvent.VK_ADD:   
  System.out.println("+");   
  getBtnSoma().doClick(); // executa a soma   
  break;   
case KeyEvent.VK_SUBTRACT:   
  System.out.println("-");   
  getBtnSub().doClick(); // executa a subtracao   
  break;   
case KeyEvent.VK_MULTIPLY:   
  System.out.println("*");   
  getBtnMult().doClick(); // executa a multiplicacao   
  break;   
case KeyEvent.VK_DIVIDE:   
  System.out.println("/");   
  getBtnDiv().doClick(); // executa a divisao   
  break;   
default:   
  // ignore   
  break;   
}   
}

No JFrame, vc está definido isso:

JFrame frame .... frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Senão ele fecha a janela mas não acaba com a aplicação

hmm… Fabio, não deu muito certo, estou usando um JInternalFrame