/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package kontakte.controller ; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import kontakte.model.Model; import kontakte.view.View; /** * * @author nobody */ public class Controller implements ActionListener { private View view; private Model model; private CommandInvoker invoker; public Controller(View view, Model model) { this.view = view; this.model = model; invoker = new CommandInvoker(); } public void registerEvents() { view.getBtnOpen().addActionListener(this); view.getMenuOpen().addActionListener(this); } public void registerCommands() { CommandOpen cmdOpen = new CommandOpen(view, model); invoker.addCommand(view.getBtnOpen(), cmdOpen); invoker.addCommand(view.getMenuOpen(), cmdOpen); } @Override public void actionPerformed(ActionEvent e) { Component key = (Component)e.getSource(); invoker.executeCommand(key); } }