@Override
 public void actionPerformed(final ActionEvent e) {
   if (Commands.OPEN.equalsToString(e.getActionCommand())) {
     openXML();
   } else if (Commands.PARALLEL.equalsToString(e.getActionCommand())) {
     process(true);
   } else if (Commands.PROCESS.equalsToString(e.getActionCommand())) {
     process(false);
   } else if (Commands.DICE.equalsToString(e.getActionCommand())) {
     setRandom();
   } else if (SimControlCommand.PLAY.equalsToString(e.getActionCommand())) {
     sim.play();
     bar.setPlay(true);
   } else if (SimControlCommand.PAUSE.equalsToString(e.getActionCommand())) {
     sim.pause();
     bar.setPlay(false);
   } else if (SimControlCommand.STEP.equalsToString(e.getActionCommand())) {
     sim.play();
     sim.pause();
   } else if (SimControlCommand.STOP.equalsToString(e.getActionCommand())) {
     sim.stop();
     bar.setFileOK(true);
   } else if (Commands.PAINT_LINKS.equalsToString(e.getActionCommand())) {
     main.setDrawLinks(effectsTab.isDrawingLinks()); // side.isDrawingLinks());
   } else if (Commands.REACTIVITY.equalsToString(e.getActionCommand())) {
     switch (bar.getReactivityStatus()) {
       case MAX_REACTIVITY:
         main.setStep(1);
         main.setRealTime(false);
         break;
       case REAL_TIME:
         main.setRealTime(true);
         main.setStep(1);
         break;
       case USER_SELECTED:
         main.setStep(bar.getReactivity());
         main.setRealTime(false);
         break;
       default:
         break;
     }
   } else {
     dispose();
   }
 }
 @Override
 public void stateChanged(final ChangeEvent e) {
   if (bar.getReactivityStatus().equals(Status.USER_SELECTED)) {
     main.setStep(bar.getReactivity());
   }
 }