From cbb41f8025105e455993db2dee52d4234aed0aeb Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 26 May 2015 10:12:10 +0200 Subject: Start w14 --- Week14 Route 66/src/OO14route66/KeyHandler.java | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Week14 Route 66/src/OO14route66/KeyHandler.java (limited to 'Week14 Route 66/src/OO14route66/KeyHandler.java') diff --git a/Week14 Route 66/src/OO14route66/KeyHandler.java b/Week14 Route 66/src/OO14route66/KeyHandler.java new file mode 100644 index 0000000..d446d48 --- /dev/null +++ b/Week14 Route 66/src/OO14route66/KeyHandler.java @@ -0,0 +1,39 @@ +package OO14route66; + +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; + +/** + * Keyboard handler of views for controller. + * Pressing keys changes the controller. + * @author pieterkoopman + */ +public class KeyHandler extends KeyAdapter { + + private Controller controller; + + public KeyHandler (Controller c) { + controller = c; + } + + /** + * on key down 'q' stop program + * on key down 's' stop the cars + * on key down ' ' all cars one step + * on key down '<' decrease delay + * on key down '>' increase delay + * on any other key activate the cars + * @param e the key event + */ + @Override + public void keyPressed(KeyEvent e) { + switch (e.getKeyChar()) { + case 'q': System.exit(0); + case 's': controller.stopCars(); break; + case ' ': controller.stepAllCars(); break; + case '<': controller.setDelay(controller.getDelay() - 50); break; + case '>': controller.setDelay(controller.getDelay() + 50); break; + default : controller.resumeCars(); + } + } +} -- cgit v1.2.3