20 package net.sf.gridarta.gui.dialog.shortcuts;
22 import java.awt.event.KeyEvent;
23 import java.awt.event.KeyListener;
24 import java.util.Collection;
25 import java.util.concurrent.CopyOnWriteArrayList;
26 import javax.swing.JTextField;
27 import javax.swing.KeyStroke;
28 import org.jetbrains.annotations.NotNull;
29 import org.jetbrains.annotations.Nullable;
47 private final Collection<KeyStrokeFieldListener>
listeners =
new CopyOnWriteArrayList<>();
63 final KeyListener keyListener =
new KeyListener() {
66 public void keyTyped(@NotNull
final KeyEvent e) {
71 public void keyPressed(@NotNull
final KeyEvent e) {
72 switch (e.getKeyCode()) {
73 case KeyEvent.VK_SHIFT:
74 case KeyEvent.VK_CONTROL:
76 case KeyEvent.VK_CAPS_LOCK:
77 case KeyEvent.VK_META:
78 case KeyEvent.VK_ALT_GRAPH:
89 public void keyReleased(@NotNull
final KeyEvent e) {
94 addKeyListener(keyListener);
96 getInputMap(WHEN_IN_FOCUSED_WINDOW).clear();
97 getInputMap(WHEN_IN_FOCUSED_WINDOW).setParent(
null);
98 getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).clear();
99 getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(
null);
100 getInputMap(WHEN_FOCUSED).clear();
101 getInputMap(WHEN_FOCUSED).setParent(
null);