summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gilbert <david.gilbert@object-refinery.com>2006-06-28 16:25:38 +0000
committerDavid Gilbert <david.gilbert@object-refinery.com>2006-06-28 16:25:38 +0000
commit9a074ee293da612f0ac9421c0efbeff6d3118415 (patch)
tree92550397bb4931d51c782b2628c3543747c77f11
parent8e8b9a5c959ebed82e615ad8fd27e7438aec19c9 (diff)
downloadclasspath-9a074ee293da612f0ac9421c0efbeff6d3118415.tar.gz
2006-06-28 David Gilbert <david.gilbert@object-refinery.com>
* javax/swing/JComponent.java (getRegisteredKeyStrokes): Implemented.
-rw-r--r--ChangeLog5
-rw-r--r--javax/swing/JComponent.java26
2 files changed, 29 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bb65b2ca1..a6186f0a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}
/**