Index: /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 3947)
+++ /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 3948)
@@ -11,13 +11,11 @@
 import java.awt.event.AWTEventListener;
 import java.awt.event.ActionEvent;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.awt.event.MouseMotionListener;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.text.DecimalFormat;
-
-import javax.swing.JFormattedTextField;
+
 import javax.swing.JLabel;
 import javax.swing.JPanel;
@@ -149,7 +147,7 @@
     }
 
-    class ImageryOffsetDialog extends ExtendedDialog implements PropertyChangeListener {
-        public final JFormattedTextField easting = new JFormattedTextField(new DecimalFormat("0.00000E0"));
-        public final JFormattedTextField northing = new JFormattedTextField(new DecimalFormat("0.00000E0"));
+    class ImageryOffsetDialog extends ExtendedDialog implements FocusListener {
+        public final JTextField easting = new JTextField();
+        public final JTextField northing = new JTextField();
         JTextField tBookmarkName = new JTextField();
         private boolean ignoreListener;
@@ -173,8 +171,8 @@
             easting.setColumns(8);
             northing.setColumns(8);
-            easting.setValue(layer.getDx());
-            northing.setValue(layer.getDy());
-            easting.addPropertyChangeListener("value",this);
-            northing.addPropertyChangeListener("value",this);
+            easting.setText(String.valueOf(layer.getDx()));
+            northing.setText(String.valueOf(layer.getDy()));
+            easting.addFocusListener(this);
+            northing.addFocusListener(this);
             setContent(pnl);
             setupDialog();
@@ -182,7 +180,23 @@
 
         @Override
-        public void propertyChange(PropertyChangeEvent evt) {
+        public void focusGained(FocusEvent e) {
+        }
+
+        @Override
+        public void focusLost(FocusEvent e) {
             if (ignoreListener) return;
-            layer.setOffset(((Number)easting.getValue()).doubleValue(), ((Number)northing.getValue()).doubleValue());
+            double dx = oldDx;
+            try {
+                dx = Double.parseDouble(easting.getText());
+            } catch (NumberFormatException nfe) {
+                easting.setText(String.valueOf(oldDx));
+            }
+            double dy = oldDy;
+            try {
+                dy = Double.parseDouble(northing.getText());
+            } catch (NumberFormatException nfe) {
+                northing.setText(String.valueOf(oldDy));
+            }
+            layer.setOffset(dx, dy);
             Main.map.repaint();
         }
@@ -190,6 +204,6 @@
         public void updateOffset() {
             ignoreListener = true;
-            easting.setValue(layer.getDx());
-            northing.setValue(layer.getDy());
+            easting.setText(String.valueOf(layer.getDx()));
+            northing.setText(String.valueOf(layer.getDy()));
             ignoreListener = false;
         }
