addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
Controller.getInstance().dispatchEvent(new QuitEvent());
}
});
input.addKeyListener(new KeyAdapter() {
private int keyCode;
@Override
public void keyPressed(KeyEvent e) {
super.keyPressed(e);
keyCode = e.getKeyCode();
}
@Override
public void keyTyped(KeyEvent e) {
super.keyTyped(e);
/*
* This listener is part of the controller. So just fire the
* appropriate events here and do not process the input any
* further. If the gui wants to do something about some event it
* should implement the appropriate EventObserver in
* registerEventObservers.
*/
if ((keyCode == KeyEvent.VK_Q || keyCode == KeyEvent.VK_W)
&& e.isControlDown()) {
Controller.getInstance().dispatchEvent(new QuitEvent());
}
if (keyCode == KeyEvent.VK_ENTER) {
Controller.getInstance().dispatchEvent(
new TextEnteredEvent(input.getText()));