Package org.openstreetmap.josm.gui.util
Class AdvancedKeyPressDetector
- java.lang.Object
-
- org.openstreetmap.josm.gui.util.AdvancedKeyPressDetector
-
- All Implemented Interfaces:
java.awt.event.AWTEventListener,java.util.EventListener
public class AdvancedKeyPressDetector extends java.lang.Object implements java.awt.event.AWTEventListener
Helper object that allows cross-platform detection of key press and release events instance is available globally asMain.map.keyDetector.- Since:
- 7217
-
-
Field Summary
Fields Modifier and Type Field Description private booleanenabledprivate java.util.List<KeyPressReleaseListener>keyListenersprivate ListenerList<ModifierExListener>modifierExListenersprivate intpreviousModifiersExprivate java.awt.event.KeyEventreleaseEventprivate java.util.Set<java.lang.Integer>setprivate javax.swing.Timertimer
-
Constructor Summary
Constructors Constructor Description AdvancedKeyPressDetector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddKeyListener(KeyPressReleaseListener l)Adds an object that wants to receive key press and release events.voidaddModifierExListener(ModifierExListener l)Adds an object that wants to receive extended key modifier changed events.voideventDispatched(java.awt.AWTEvent e)private static booleanisFocusInMainWindow()booleanisKeyPressed(int keyCode)Allows to determine if the key with specific code is pressed nowprivate voidprocessKeyEvent(java.awt.event.KeyEvent e)voidregister()Register this object as AWTEventListenervoidremoveKeyListener(KeyPressReleaseListener l)Removes the listener.voidremoveModifierExListener(ModifierExListener l)Removes the extended key modifier listener.voidsetEnabled(boolean enabled)Sets the enabled state of the key detector.voidunregister()Unregister this object as AWTEventListener lists of listeners are not cleared!
-
-
-
Field Detail
-
set
private final java.util.Set<java.lang.Integer> set
-
releaseEvent
private java.awt.event.KeyEvent releaseEvent
-
timer
private javax.swing.Timer timer
-
keyListeners
private final java.util.List<KeyPressReleaseListener> keyListeners
-
modifierExListeners
private final ListenerList<ModifierExListener> modifierExListeners
-
previousModifiersEx
private int previousModifiersEx
-
enabled
private boolean enabled
-
-
Constructor Detail
-
AdvancedKeyPressDetector
public AdvancedKeyPressDetector()
-
-
Method Detail
-
addKeyListener
public void addKeyListener(KeyPressReleaseListener l)
Adds an object that wants to receive key press and release events.- Parameters:
l- listener to add
-
addModifierExListener
public void addModifierExListener(ModifierExListener l)
Adds an object that wants to receive extended key modifier changed events.- Parameters:
l- listener to add- Since:
- 12517
-
removeKeyListener
public void removeKeyListener(KeyPressReleaseListener l)
Removes the listener.- Parameters:
l- listener to remove
-
removeModifierExListener
public void removeModifierExListener(ModifierExListener l)
Removes the extended key modifier listener.- Parameters:
l- listener to remove- Since:
- 12517
-
register
public void register()
Register this object as AWTEventListener
-
unregister
public void unregister()
Unregister this object as AWTEventListener lists of listeners are not cleared!
-
processKeyEvent
private void processKeyEvent(java.awt.event.KeyEvent e)
-
eventDispatched
public void eventDispatched(java.awt.AWTEvent e)
- Specified by:
eventDispatchedin interfacejava.awt.event.AWTEventListener
-
isKeyPressed
public boolean isKeyPressed(int keyCode)
Allows to determine if the key with specific code is pressed now- Parameters:
keyCode- the key code, for example KeyEvent.VK_ENTER- Returns:
- true if the key is pressed now
-
setEnabled
public final void setEnabled(boolean enabled)
Sets the enabled state of the key detector. We need to disable it when text fields that disable shortcuts gain focus.- Parameters:
enabled- iftrue, enables this key detector. Iffalse, disables it- Since:
- 7539
-
isFocusInMainWindow
private static boolean isFocusInMainWindow()
-
-