@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand() == "Charger image") {
			
			// Load image controller
			LoadImageController loadImageController = new LoadImageController();
			int returnVal = loadImageController.getView().open();
			
			// Get file
			if (returnVal == JFileChooser.APPROVE_OPTION) {    			
                File file = loadImageController.getView().getSelectedFile();
                CommandLoadImage cli = new CommandLoadImage(imageModel, file);
    			CommandManager.getInstance().execute(cli);
    			
    			// Reset perspective value
    			perspective1.setPosition(new Point(0, 0));
    			perspective1.setZoom(1);
    			perspective2.setPosition(new Point(0, 0));
    			perspective2.setZoom(1);
            }
		} else if (e.getActionCommand() == "Sauvegarder etat") {
			CommandSaveState css = new CommandSaveState(perspective1, perspective2);
			CommandManager.getInstance().execute(css);
		} else if (e.getActionCommand() == "Charger etat") {
			CommandLoadState cls = new CommandLoadState(perspective1, perspective2);
			CommandManager.getInstance().execute(cls);
		} else if (e.getActionCommand() == "Quitter") {
			System.exit(0);
		} else if (e.getActionCommand() == "Annuler") {
			CommandManager.getInstance().undo();
			menuBar.setEnabledUndoAction(CommandManager.getInstance().canUndo());
			menuBar.setEnabledRedoAction(CommandManager.getInstance().canRedo());
		} else if (e.getActionCommand() == "Retablir") {
			CommandManager.getInstance().redo();
			menuBar.setEnabledUndoAction(CommandManager.getInstance().canUndo());
			menuBar.setEnabledRedoAction(CommandManager.getInstance().canRedo());
		}
	}