aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/gui/elements
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2021-08-22 17:57:25 +0900
committersyeyoung <cyong06@naver.com>2021-08-22 17:57:25 +0900
commit6d74a0685b7088700c71d67f0cafc1c1b60820f2 (patch)
tree9cba2f7da971b53bc6366feb6ad2089a1ae1af3d /src/main/java/kr/syeyoung/dungeonsguide/gui/elements
parent690584b06c6cb22b88e5927860957d7604b636eb (diff)
downloadSkyblock-Dungeons-Guide-6d74a0685b7088700c71d67f0cafc1c1b60820f2.tar.gz
Skyblock-Dungeons-Guide-6d74a0685b7088700c71d67f0cafc1c1b60820f2.tar.bz2
Skyblock-Dungeons-Guide-6d74a0685b7088700c71d67f0cafc1c1b60820f2.zip
- Bug Report 295
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/gui/elements')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTextField.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTextField.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTextField.java
index b40acd02..653cd2d9 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTextField.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTextField.java
@@ -37,6 +37,8 @@ import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.KeyEvent;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
@Getter
public class MTextField extends MPanel {
@@ -203,10 +205,25 @@ public class MTextField extends MPanel {
}
}
+ private Map<Integer, Long> callKeyHeldIfAfter = new HashMap<>();
@Override
- public void keyTyped(char typedChar, int keycode) {
+ public void keyHeld(char typedChar, int keyCode, long heldMS) {
if (!isFocused) return;
+ Long callAfter = callKeyHeldIfAfter.get(keyCode);
+ if (callAfter == null) return;
+ if (callAfter <= System.currentTimeMillis()) this.keyPressed(typedChar, keyCode);
+ }
+
+ @Override
+ public void keyReleased(char typedChar, int keyCode, long heldMS) {
+ callKeyHeldIfAfter.remove(keyCode);
+ }
+ @Override
+ public void keyPressed(char typedChar, int keycode) {
+ if (!isFocused) return;
+ if (callKeyHeldIfAfter.containsKey(keycode)) callKeyHeldIfAfter.put(keycode, System.currentTimeMillis()+50);
+ else callKeyHeldIfAfter.put(keycode, System.currentTimeMillis() + 750);
if (selectionStart == -1) {
if (keycode == 199) { // home