src/share/classes/javax/swing/KeyboardManager.java

Print this page

        

@@ -66,17 +66,17 @@
     static KeyboardManager currentManager = new KeyboardManager();
 
     /**
       * maps top-level containers to a sub-hashtable full of keystrokes
       */
-    Hashtable<Container, Hashtable> containerMap = new Hashtable<Container, Hashtable>();
+    Hashtable<Container, Hashtable<Object, Object>> containerMap = new Hashtable<>();
 
     /**
       * Maps component/keystroke pairs to a topLevel container
       * This is mainly used for fast unregister operations
       */
-    Hashtable<ComponentKeyStrokePair, Container> componentKeyStrokeMap = new Hashtable<ComponentKeyStrokePair, Container>();
+    Hashtable<ComponentKeyStrokePair, Container> componentKeyStrokeMap = new Hashtable<>();
 
     public static KeyboardManager getCurrentManager() {
         return currentManager;
     }
 

@@ -93,30 +93,31 @@
      public void registerKeyStroke(KeyStroke k, JComponent c) {
          Container topContainer = getTopAncestor(c);
          if (topContainer == null) {
              return;
          }
-         Hashtable keyMap = containerMap.get(topContainer);
+         Hashtable<Object, Object> keyMap = containerMap.get(topContainer);
 
          if (keyMap ==  null) {  // lazy evaluate one
              keyMap = registerNewTopContainer(topContainer);
          }
 
          Object tmp = keyMap.get(k);
          if (tmp == null) {
              keyMap.put(k,c);
          } else if (tmp instanceof Vector) {  // if there's a Vector there then add to it.
-             Vector v = (Vector)tmp;
+             @SuppressWarnings("unchecked")
+             Vector<Object> v = (Vector)tmp;
              if (!v.contains(c)) {  // only add if this keystroke isn't registered for this component
                  v.addElement(c);
              }
          } else if (tmp instanceof JComponent) {
            // if a JComponent is there then remove it and replace it with a vector
            // Then add the old compoennt and the new compoent to the vector
            // then insert the vector in the table
            if (tmp != c) {  // this means this is already registered for this component, no need to dup
-               Vector<JComponent> v = new Vector<JComponent>();
+               Vector<JComponent> v = new Vector<>();
                v.addElement((JComponent) tmp);
                v.addElement(c);
                keyMap.put(k, v);
            }
          } else {

@@ -158,11 +159,11 @@
 
          if (topContainer == null) {  // never heard of this pairing, so bail
              return;
          }
 
-         Hashtable keyMap = containerMap.get(topContainer);
+         Hashtable<Object, Object> keyMap = containerMap.get(topContainer);
          if  (keyMap == null) { // this should never happen, but I'm being safe
              Thread.dumpStack();
              return;
          }
 

@@ -174,11 +175,11 @@
 
          if (tmp instanceof JComponent && tmp == c) {
              keyMap.remove(ks);  // remove the KeyStroke from the Map
              //System.out.println("removed a stroke" + ks);
          } else if (tmp instanceof Vector ) {  // this means there is more than one component reg for this key
-             Vector v = (Vector)tmp;
+             Vector<?> v = (Vector)tmp;
              v.removeElement(c);
              if ( v.isEmpty() ) {
                  keyMap.remove(ks);  // remove the KeyStroke from the Map
                  //System.out.println("removed a ks vector");
              }

@@ -225,11 +226,11 @@
                    ksE=KeyStroke.getKeyStroke(e.getExtendedKeyCode(), e.getModifiers(), !pressed);
                }
                ks=KeyStroke.getKeyStroke(e.getKeyCode(), e.getModifiers(), !pressed);
          }
 
-         Hashtable keyMap = containerMap.get(topAncestor);
+         Hashtable<Object, Object> keyMap = containerMap.get(topAncestor);
          if (keyMap != null) { // this container isn't registered, so bail
 
              Object tmp = null;
              // extended code has priority
              if( ksE != null ) {

@@ -248,11 +249,11 @@
                  JComponent c = (JComponent)tmp;
                  if ( c.isShowing() && c.isEnabled() ) { // only give it out if enabled and visible
                      fireBinding(c, ks, e, pressed);
                  }
              } else if ( tmp instanceof Vector) { //more than one comp registered for this
-                 Vector v = (Vector)tmp;
+                 Vector<?> v = (Vector)tmp;
                  // There is no well defined order for WHEN_IN_FOCUSED_WINDOW
                  // bindings, but we give precedence to those bindings just
                  // added. This is done so that JMenus WHEN_IN_FOCUSED_WINDOW
                  // bindings are accessed before those of the JRootPane (they
                  // both have a WHEN_IN_FOCUSED_WINDOW binding for enter).

@@ -277,15 +278,16 @@
          }
          // if no one else handled it, then give the menus a crack
          // The're handled differently.  The key is to let any JMenuBars
          // process the event
          if ( keyMap != null) {
-             Vector v = (Vector)keyMap.get(JMenuBar.class);
+             @SuppressWarnings("unchecked")
+             Vector<JMenuBar> v = (Vector)keyMap.get(JMenuBar.class);
              if (v != null) {
-                 Enumeration iter = v.elements();
+                 Enumeration<JMenuBar> iter = v.elements();
                  while (iter.hasMoreElements()) {
-                     JMenuBar mb = (JMenuBar)iter.nextElement();
+                     JMenuBar mb = iter.nextElement();
                      if ( mb.isShowing() && mb.isEnabled() ) { // don't want to give these out
                          boolean extended = (ksE != null) && !ksE.equals(ks);
                          if (extended) {
                              fireBinding(mb, ksE, e, pressed);
                          }

@@ -313,21 +315,22 @@
     public void registerMenuBar(JMenuBar mb) {
         Container top = getTopAncestor(mb);
         if (top == null) {
             return;
         }
-        Hashtable keyMap = containerMap.get(top);
+        Hashtable<Object, Object> keyMap = containerMap.get(top);
 
         if (keyMap ==  null) {  // lazy evaluate one
              keyMap = registerNewTopContainer(top);
         }
         // use the menubar class as the key
-        Vector menuBars = (Vector)keyMap.get(JMenuBar.class);
+        @SuppressWarnings("unchecked")
+        Vector<Object> menuBars = (Vector)keyMap.get(JMenuBar.class);
 
         if (menuBars == null) {  // if we don't have a list of menubars,
                                  // then make one.
-            menuBars = new Vector();
+            menuBars = new Vector<>();
             keyMap.put(JMenuBar.class, menuBars);
         }
 
         if (!menuBars.contains(mb)) {
             menuBars.addElement(mb);

@@ -338,13 +341,13 @@
     public void unregisterMenuBar(JMenuBar mb) {
         Container topContainer = getTopAncestor(mb);
         if (topContainer == null) {
             return;
         }
-        Hashtable keyMap = containerMap.get(topContainer);
+        Hashtable<Object, Object> keyMap = containerMap.get(topContainer);
         if (keyMap!=null) {
-            Vector v = (Vector)keyMap.get(JMenuBar.class);
+            Vector<?> v = (Vector)keyMap.get(JMenuBar.class);
             if (v != null) {
                 v.removeElement(mb);
                 if (v.isEmpty()) {
                     keyMap.remove(JMenuBar.class);
                     if (keyMap.isEmpty()) {

@@ -353,12 +356,12 @@
                     }
                 }
             }
         }
     }
-    protected Hashtable registerNewTopContainer(Container topContainer) {
-             Hashtable keyMap = new Hashtable();
+    protected Hashtable<Object, Object> registerNewTopContainer(Container topContainer) {
+             Hashtable<Object, Object> keyMap = new Hashtable<>();
              containerMap.put(topContainer, keyMap);
              return keyMap;
     }
 
     /**