Index: /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatConfigDialog.java
===================================================================
--- /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatConfigDialog.java	(revision 32957)
+++ /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatConfigDialog.java	(revision 32958)
@@ -10,7 +10,7 @@
 import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;
 
+import javax.swing.AbstractButton;
 import javax.swing.BoxLayout;
 import javax.swing.ButtonGroup;
@@ -34,4 +34,8 @@
     public class IntegerTextField extends JTextField {
 
+        IntegerTextField() {
+            setHorizontalAlignment(JTextField.RIGHT);
+        }
+
         static final String badchars = "-`~!@#$%^&*()_+=\\|\"':;?/>.<, ";
 
@@ -75,26 +79,16 @@
         conf = config;
         GridBagConstraints c = new GridBagConstraints();
-        System.out.println("read config " + config);
 
         Dimension xx = aSeconds.getPreferredSize();
         aSeconds.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        aSeconds.setHorizontalAlignment(JTextField.RIGHT);
         aMeters.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        aMeters.setHorizontalAlignment(JTextField.RIGHT);
         bSeconds.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        bSeconds.setHorizontalAlignment(JTextField.RIGHT);
         bMeters.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        bMeters.setHorizontalAlignment(JTextField.RIGHT);
         cSeconds.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        cSeconds.setHorizontalAlignment(JTextField.RIGHT);
         cMeters.setPreferredSize(new Dimension((int) xx.getWidth() + 50, (int) xx.getHeight()));
-        cMeters.setHorizontalAlignment(JTextField.RIGHT);
 
         setLayout(new GridBagLayout());
 
-        ButtonGroup logFormat = new ButtonGroup();
-        logFormat.add(formatPosOnly);
-        logFormat.add(formatPosTDS);
-        logFormat.add(formatPosTDSA);
+        createButtonGroup(formatPosOnly, formatPosTDS, formatPosTDSA);
 
         JPanel logPanel = new JPanel();
@@ -125,5 +119,4 @@
 
         minLogSpeed = new IntegerTextField();
-        minLogSpeed.setHorizontalAlignment(JTextField.RIGHT);
         c.insets = new Insets(4, 4, 0, 4);
         c.gridwidth = 1;
@@ -134,10 +127,5 @@
         add(minLogSpeed, c);
 
-        disableLogSpeed.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(java.awt.event.ActionEvent e) {
-                    minLogSpeed.setEnabled(disableLogSpeed.isSelected());
-                }
-            });
+        disableLogSpeed.addActionListener(e -> minLogSpeed.setEnabled(disableLogSpeed.isSelected()));
 
         disableLogDist = new JCheckBox(tr("Disable data logging if distance falls below"));
@@ -151,5 +139,4 @@
 
         minLogDist = new IntegerTextField();
-        minLogDist.setHorizontalAlignment(JTextField.RIGHT);
         c.insets = new Insets(0, 4, 4, 4);
         c.gridwidth = 1;
@@ -162,10 +149,5 @@
         minLogDist.setPreferredSize(new Dimension((int) x.getWidth() + 50, (int) x.getHeight()));
 
-        disableLogDist.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(java.awt.event.ActionEvent e) {
-                    minLogDist.setEnabled(disableLogDist.isSelected());
-                }
-            });
+        disableLogDist.addActionListener(e -> minLogDist.setEnabled(disableLogDist.isSelected()));
 
         disableLogDist.setSelected(conf.getDisableLogDist());
@@ -177,7 +159,5 @@
         minLogDist.setText("" + conf.getDistThres());
 
-        ButtonGroup group = new ButtonGroup();
-        group.add(aTime);
-        group.add(aDist);
+        createButtonGroup(aTime, aDist);
 
         c.insets = new Insets(4, 4, 0, 4);
@@ -203,7 +183,5 @@
         add(aMeters, c);
 
-        group = new ButtonGroup();
-        group.add(bTime);
-        group.add(bDist);
+        createButtonGroup(bTime, bDist);
 
         c.insets = new Insets(4, 4, 0, 4);
@@ -229,7 +207,5 @@
         add(bMeters, c);
 
-        group = new ButtonGroup();
-        group.add(cTime);
-        group.add(cDist);
+        createButtonGroup(cTime, cDist);
 
         c.insets = new Insets(4, 4, 0, 4);
@@ -254,8 +230,4 @@
         c.gridy = 8;
         add(cMeters, c);
-
-        //        add(new JLabel(tr("Memory Usage:")));
-        //        add(memUsage);
-        //add ID textbox
 
         switch(conf.getLogFormat()) {
@@ -273,27 +245,7 @@
         }
 
-        if (conf.getSwATimeOrDist() == 0) {
-            aTime.setSelected(true);
-            aDist.setSelected(false);
-        } else {
-            aTime.setSelected(false);
-            aDist.setSelected(true);
-        }
-
-        if (conf.getSwBTimeOrDist() == 0) {
-            bTime.setSelected(true);
-            bDist.setSelected(false);
-        } else {
-            bTime.setSelected(false);
-            bDist.setSelected(true);
-        }
-
-        if (conf.getSwCTimeOrDist() == 0) {
-            cTime.setSelected(true);
-            cDist.setSelected(false);
-        } else {
-            cTime.setSelected(false);
-            cDist.setSelected(true);
-        }
+        enableTimeDistRadioButton(conf.getSwATimeOrDist(), aTime, aDist);
+        enableTimeDistRadioButton(conf.getSwBTimeOrDist(), bTime, bDist);
+        enableTimeDistRadioButton(conf.getSwCTimeOrDist(), cTime, cDist);
 
         aSeconds.setText("" + conf.getSwATime() / 1000);
@@ -305,4 +257,22 @@
         cSeconds.setText("" + conf.getSwCTime() / 1000);
         cMeters.setText("" + conf.getSwCDist());
+    }
+
+    private static ButtonGroup createButtonGroup(AbstractButton ... buttons) {
+        ButtonGroup group = new ButtonGroup();
+        for (AbstractButton b : buttons) {
+            group.add(b);
+        }
+        return group;
+    }
+
+    private static void enableTimeDistRadioButton(int timeOrDist, AbstractButton time, AbstractButton dist) {
+        if (timeOrDist == 0) {
+            time.setSelected(true);
+            dist.setSelected(false);
+        } else {
+            time.setSelected(false);
+            dist.setSelected(true);
+        }
     }
 
