diff options
author | David Gilbert <david.gilbert@object-refinery.com> | 2006-06-28 16:25:38 +0000 |
---|---|---|
committer | David Gilbert <david.gilbert@object-refinery.com> | 2006-06-28 16:25:38 +0000 |
commit | 9a074ee293da612f0ac9421c0efbeff6d3118415 (patch) | |
tree | 92550397bb4931d51c782b2628c3543747c77f11 | |
parent | 8e8b9a5c959ebed82e615ad8fd27e7438aec19c9 (diff) | |
download | classpath-9a074ee293da612f0ac9421c0efbeff6d3118415.tar.gz |
2006-06-28 David Gilbert <david.gilbert@object-refinery.com>
* javax/swing/JComponent.java
(getRegisteredKeyStrokes): Implemented.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | javax/swing/JComponent.java | 26 |
2 files changed, 29 insertions, 2 deletions
@@ -1,6 +1,11 @@ 2006-06-28 David Gilbert <david.gilbert@object-refinery.com> * javax/swing/JComponent.java + (getRegisteredKeyStrokes): Implemented. + +2006-06-28 David Gilbert <david.gilbert@object-refinery.com> + + * javax/swing/JComponent.java (verifyInputWhenFocusTarget): Initialise to true. 2006-06-28 David Gilbert <david.gilbert@object-refinery.com> diff --git a/javax/swing/JComponent.java b/javax/swing/JComponent.java index 57d000ed3..2e156d839 100644 --- a/javax/swing/JComponent.java +++ b/javax/swing/JComponent.java @@ -72,6 +72,7 @@ import java.beans.VetoableChangeListener; import java.beans.VetoableChangeSupport; import java.io.Serializable; import java.util.ArrayList; +import java.util.Arrays; import java.util.EventListener; import java.util.Hashtable; import java.util.Locale; @@ -1423,11 +1424,32 @@ public abstract class JComponent extends Container implements Serializable * Return the set of {@link KeyStroke} objects which are registered * to initiate actions on this component. * - * @return An array of the registered keystrokes + * @return An array of the registered keystrokes (possibly empty but never + * <code>null</code>). */ public KeyStroke[] getRegisteredKeyStrokes() { - return null; + KeyStroke[] ks0; + KeyStroke[] ks1; + KeyStroke[] ks2; + if (inputMap_whenFocused != null) + ks0 = inputMap_whenFocused.keys(); + else + ks0 = new KeyStroke[0]; + if (inputMap_whenAncestorOfFocused != null) + ks1 = inputMap_whenAncestorOfFocused.keys(); + else + ks1 = new KeyStroke[0]; + if (inputMap_whenInFocusedWindow != null) + ks2 = inputMap_whenInFocusedWindow.keys(); + else + ks2 = new KeyStroke[0]; + int count = ks0.length + ks1.length + ks2.length; + KeyStroke[] result = new KeyStroke[count]; + System.arraycopy(ks0, 0, result, 0, ks0.length); + System.arraycopy(ks1, 0, result, ks0.length, ks1.length); + System.arraycopy(ks2, 0, result, ks0.length + ks1.length, ks2.length); + return result; } /** |