Index: /trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 1335)
+++ /trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 1336)
@@ -10,4 +10,6 @@
 import java.awt.event.FocusEvent;
 import java.awt.event.FocusListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
 import java.awt.event.MouseAdapter;
 import java.util.HashMap;
@@ -18,6 +20,4 @@
 import javax.swing.JTextField;
 import javax.swing.SwingUtilities;
-import javax.swing.event.DocumentListener;
-import javax.swing.event.DocumentEvent;
 
 import org.openstreetmap.josm.data.Bounds;
@@ -75,23 +75,27 @@
             f.addFocusListener(dialogUpdater);
         }
-        class osmUrlRefresher implements DocumentListener {
-            public void changedUpdate(DocumentEvent e) { dowork(); }
-            public void insertUpdate(DocumentEvent e) { dowork(); }
-            public void removeUpdate(DocumentEvent e) { dowork(); }
-            private void dowork() {
-                Bounds b = OsmUrlToBounds.parse(osmUrl.getText());
-                if (b != null) {
-                    gui.minlon = b.min.lon();
-                    gui.minlat = b.min.lat();
-                    gui.maxlon = b.max.lon();
-                    gui.maxlat = b.max.lat();
-                    gui.boundingBoxChanged(BoundingBoxSelection.this);
-                    updateBboxFields(gui);
-                    updateUrl(gui);
-                }
-            }
-        }
+        
+        KeyListener osmUrlKeyListener = new KeyListener() {
+          public void keyPressed(KeyEvent keyEvent) {}
 
-        osmUrl.getDocument().addDocumentListener(new osmUrlRefresher());
+          public void keyReleased(KeyEvent keyEvent) {
+              Bounds b = OsmUrlToBounds.parse(osmUrl.getText());
+              if (b != null) {
+                  gui.minlon = b.min.lon();
+                  gui.minlat = b.min.lat();
+                  gui.maxlon = b.max.lon();
+                  gui.maxlat = b.max.lat();
+                  gui.boundingBoxChanged(BoundingBoxSelection.this);
+                  updateBboxFields(gui);
+                  updateUrl(gui);
+                  if(keyEvent.getKeyCode() == keyEvent.VK_ENTER) 
+                      gui.closeDownloadDialog(true);
+              }
+          }
+
+          public void keyTyped(KeyEvent keyEvent) {}
+        };
+        
+        osmUrl.addKeyListener(osmUrlKeyListener);
 
         // select content on receiving focus. this seems to be the default in the
