64 lines
1.9 KiB
Java
64 lines
1.9 KiB
Java
/*
|
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
|
*/
|
|
|
|
package ChatProgramm.controller;
|
|
|
|
import ChatProgramm.controller.commands.CommandConnect;
|
|
import ChatProgramm.controller.commands.CommandInvoker;
|
|
import ChatProgramm.controller.commands.CommandSend;
|
|
import ChatProgramm.model.GrafikModel;
|
|
import ChatProgramm.view.ChatView;
|
|
import ChatProgramm.view.GrafikView;
|
|
import java.awt.Component;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
|
|
/**
|
|
*
|
|
* @author ahren
|
|
*/
|
|
public class CommandController implements ActionListener{
|
|
|
|
private ChatView view;
|
|
private GrafikModel model;
|
|
private GrafikView gView;
|
|
private CommandInvoker invoker;
|
|
private GrafikController controller;
|
|
|
|
public CommandController(ChatView view, GrafikModel model, GrafikController controller, GrafikView gView){
|
|
this.view = view;
|
|
this.model = model;
|
|
this.gView = gView;
|
|
this.invoker = new CommandInvoker();
|
|
this.controller = controller;
|
|
}
|
|
|
|
public void registerEvents(){
|
|
view.getBtnConnect().addActionListener(this);
|
|
//ToDo: muss auf gFrame referenzieren
|
|
//view.getTfNachricht().addActionListener(this);
|
|
}
|
|
|
|
public void registerCommands(){
|
|
CommandSend commandSend = new CommandSend(view.getGvZeichenflaeche(), model);
|
|
invoker.addCommand(view.getBtnConnect(), new CommandConnect(view, commandSend, model, gView));
|
|
this.controller.setCommand(commandSend);
|
|
}
|
|
|
|
/**
|
|
* Ausführen des jeweiligen Kommandos
|
|
* @param e Referenz auf das Event
|
|
*/
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
Component key = (Component)e.getSource();
|
|
invoker.executeCommand(key);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|