From d0ea4ee4c0cafa27b066ea01be190fc533a09210 Mon Sep 17 00:00:00 2001 From: Mariana Date: Mon, 30 May 2022 15:25:36 +0000 Subject: [PATCH 1/2] add addEventListener method overload --- .../simplegraphics/keyboard/Keyboard.java | 14 ++++++++++++++ .../simplegraphics/test/Tester.java | 11 ++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java b/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java index b52cd70..c2c49ed 100644 --- a/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java +++ b/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java @@ -35,6 +35,20 @@ public void addEventListener(KeyboardEvent keyboardEvent) { keyboardEventArrayList.add(keyboardEvent); } + /** + * Add a new Keyboard event listener + * @see KeyboardEvent + * @param key the associated key code + * @see KeyboardEventType + * @param type the event to add + */ + public void addEventListener(int key, KeyboardEventType type) { + KeyboardEvent e = new KeyboardEvent(); + e.setKey(key); + e.setKeyboardEventType(type); + addEventListener(e); + } + /** * Remove an existing Keyboard event listener * @param keyboardEvent the event to remove diff --git a/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java b/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java index 56eb146..f453115 100644 --- a/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java +++ b/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java @@ -27,6 +27,8 @@ public void test() throws InterruptedException { event.setKeyboardEventType(KeyboardEventType.KEY_PRESSED); k.addEventListener(event); + k.addEventListener(KeyboardEvent.KEY_ENTER, KeyboardEventType.KEY_PRESSED); + Mouse m = new Mouse(this); Rectangle rect = new Rectangle(10, 10, 400, 400); @@ -75,7 +77,14 @@ public void test() throws InterruptedException { @Override public void keyPressed(KeyboardEvent e) { - System.out.println("SPACE KEY PRESSED"); + switch (e.getKey()){ + case KeyboardEvent.KEY_SPACE: + System.out.println("SPACE KEY PRESSED"); + break; + case KeyboardEvent.KEY_ENTER: + System.out.println("ENTER WAS PRESSED"); + break; + } } From ec584ea14033d66b8fa6fe25ca54eb168a6f6b5b Mon Sep 17 00:00:00 2001 From: Mariana Date: Mon, 30 May 2022 15:34:08 +0000 Subject: [PATCH 2/2] add method addEventListeners to keyboard --- .../simplegraphics/keyboard/Keyboard.java | 16 ++++++++++++++++ .../simplegraphics/test/Tester.java | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java b/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java index c2c49ed..433632b 100644 --- a/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java +++ b/src/main/java/org/academiadecodigo/simplegraphics/keyboard/Keyboard.java @@ -7,6 +7,9 @@ import java.util.List; import java.util.Iterator; +import static org.academiadecodigo.simplegraphics.keyboard.KeyboardEventType.KEY_PRESSED; +import static org.academiadecodigo.simplegraphics.keyboard.KeyboardEventType.KEY_RELEASED; + /** * Instantiate a Keyboard for obtaining key handling capability */ @@ -49,6 +52,19 @@ public void addEventListener(int key, KeyboardEventType type) { addEventListener(e); } + /** + * Add Keyboard event listeners to a group of keys + * @see KeyboardEvent + * @param keys the key codes + * @see KeyboardEventType + * @param type the event to add + */ + public void addEventListeners(int[] keys, KeyboardEventType type) { + for (int key : keys) { + addEventListener(key, type); + } + } + /** * Remove an existing Keyboard event listener * @param keyboardEvent the event to remove diff --git a/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java b/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java index f453115..e957861 100644 --- a/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java +++ b/src/test/java/org/academiadecodigo/simplegraphics/test/Tester.java @@ -28,6 +28,7 @@ public void test() throws InterruptedException { k.addEventListener(event); k.addEventListener(KeyboardEvent.KEY_ENTER, KeyboardEventType.KEY_PRESSED); + k.addEventListeners(new int[]{KeyboardEvent.KEY_ESC, KeyboardEvent.KEY_Q}, KeyboardEventType.KEY_PRESSED); Mouse m = new Mouse(this); @@ -84,6 +85,12 @@ public void keyPressed(KeyboardEvent e) { case KeyboardEvent.KEY_ENTER: System.out.println("ENTER WAS PRESSED"); break; + case KeyboardEvent.KEY_ESC: + System.out.println("ESC WAS PRESSED"); + break; + case KeyboardEvent.KEY_Q: + System.out.println("Q WAS PRESSED"); + break; } }