Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 8554)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 8555)
@@ -23,4 +23,5 @@
 import java.beans.PropertyChangeListener;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -302,12 +303,7 @@
                 removeComponentListener(this);
 
-                MapSlider zoomSlider = new MapSlider(MapView.this);
-                add(zoomSlider);
-                zoomSlider.setBounds(3, 0, 114, 30);
-                zoomSlider.setFocusTraversalKeysEnabled(!unregisterTab);
-
-                MapScaler scaler = new MapScaler(MapView.this);
-                add(scaler);
-                scaler.setLocation(10, 30);
+                for (JComponent c : getMapNavigationComponents(MapView.this)) {
+                    MapView.this.add(c);
+                }
 
                 mapMover = new MapMover(MapView.this, contentPane);
@@ -341,4 +337,20 @@
             setFocusTraversalKeysEnabled(false);
         }
+    }
+
+    /**
+     * Adds the map navigation components to a
+     * @param forMapView The map view to get the components for.
+     * @return A list containing the correctly positioned map navigation components.
+     */
+    public static List<? extends JComponent> getMapNavigationComponents(MapView forMapView) {
+        MapSlider zoomSlider = new MapSlider(forMapView);
+        zoomSlider.setBounds(3, 0, 114, 30);
+        zoomSlider.setFocusTraversalKeysEnabled(Shortcut.findShortcut(KeyEvent.VK_TAB, 0) == null);
+
+        MapScaler scaler = new MapScaler(forMapView);
+        scaler.setLocation(10,30);
+
+        return Arrays.asList(zoomSlider, scaler);
     }
 
