Index: trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java	(revision 17311)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java	(revision 17312)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.gui.preferences.server;
 
+import static java.awt.GridBagConstraints.HORIZONTAL;
 import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trc;
@@ -21,4 +22,5 @@
 
 import javax.swing.BorderFactory;
+import javax.swing.Box;
 import javax.swing.ButtonGroup;
 import javax.swing.JLabel;
@@ -37,4 +39,5 @@
 import org.openstreetmap.josm.io.auth.CredentialsManager;
 import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.spi.preferences.IPreferences;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Logging;
@@ -78,5 +81,5 @@
         gc.anchor = GridBagConstraints.WEST;
         gc.insets = new Insets(5, 5, 0, 0);
-        gc.fill = GridBagConstraints.HORIZONTAL;
+        gc.fill = HORIZONTAL;
         gc.weightx = 0.0;
         pnl.add(new JLabel(tr("Host:")), gc);
@@ -100,5 +103,5 @@
         gc.gridx = 0;
         gc.gridwidth = 2;
-        gc.fill = GridBagConstraints.HORIZONTAL;
+        gc.fill = HORIZONTAL;
         gc.weightx = 1.0;
         pnl.add(new JMultilineLabel(tr("Please enter a username and a password if your proxy requires authentication.")), gc);
@@ -148,5 +151,5 @@
         gc.anchor = GridBagConstraints.WEST;
         gc.insets = new Insets(5, 5, 0, 0);
-        gc.fill = GridBagConstraints.HORIZONTAL;
+        gc.fill = HORIZONTAL;
         gc.weightx = 0.0;
         pnl.add(new JLabel(tr("Host:")), gc);
@@ -191,45 +194,50 @@
 
         // radio button "No proxy"
-        rbProxyPolicy.get(ProxyPolicy.NO_PROXY).setText(tr("No proxy"));
-        pnl.add(rbProxyPolicy.get(ProxyPolicy.NO_PROXY), GBC.eop().anchor(GBC.NORTHWEST));
+        pnl.add(newRadioButton(ProxyPolicy.NO_PROXY, tr("No proxy")), GBC.eop().anchor(GBC.NORTHWEST));
 
         // radio button "System settings"
-        pnl.add(rbProxyPolicy.get(ProxyPolicy.USE_SYSTEM_SETTINGS), GBC.eol());
-        rbProxyPolicy.get(ProxyPolicy.USE_SYSTEM_SETTINGS).setText(tr("Use standard system settings"));
+        pnl.add(newRadioButton(ProxyPolicy.USE_SYSTEM_SETTINGS, tr("Use standard system settings")), GBC.eol());
         if (!DefaultProxySelector.willJvmRetrieveSystemProxies()) {
             String msg = tr("Use standard system settings (disabled. Start JOSM with <tt>-Djava.net.useSystemProxies=true</tt> to enable)");
-            pnl.add(new JMultilineLabel("<html>" + msg + "</html>"), GBC.eop());
+            pnl.add(new JMultilineLabel("<html>" + msg + "</html>"), GBC.eop().fill(HORIZONTAL));
         }
 
         // radio button http proxy
-        rbProxyPolicy.get(ProxyPolicy.USE_HTTP_PROXY).setText(tr("Manually configure a HTTP proxy"));
-        pnl.add(rbProxyPolicy.get(ProxyPolicy.USE_HTTP_PROXY), GBC.eol());
+        pnl.add(newRadioButton(ProxyPolicy.USE_HTTP_PROXY, tr("Manually configure a HTTP proxy")), GBC.eol());
 
         // the panel with the http proxy configuration parameters
         pnlHttpProxyConfigurationPanel = buildHttpProxyConfigurationPanel();
-        pnl.add(pnlHttpProxyConfigurationPanel, GBC.eop().fill(GBC.HORIZONTAL));
+        pnl.add(pnlHttpProxyConfigurationPanel, GBC.eop().fill(HORIZONTAL));
 
         // radio button SOCKS proxy
-        pnl.add(rbProxyPolicy.get(ProxyPolicy.USE_SOCKS_PROXY), GBC.eol());
-        rbProxyPolicy.get(ProxyPolicy.USE_SOCKS_PROXY).setText(tr("Use a SOCKS proxy"));
+        pnl.add(newRadioButton(ProxyPolicy.USE_SOCKS_PROXY, tr("Use a SOCKS proxy")), GBC.eol());
 
         // the panel with the SOCKS configuration parameters
         pnlSocksProxyConfigurationPanel = buildSocksProxyConfigurationPanel();
-        pnl.add(pnlSocksProxyConfigurationPanel, GBC.eop().fill(GBC.HORIZONTAL));
+        pnl.add(pnlSocksProxyConfigurationPanel, GBC.eop().fill(HORIZONTAL));
+
+        pnl.add(Box.createVerticalGlue(), GBC.eol().fill());
 
         return pnl;
     }
 
+    private JRadioButton newRadioButton(ProxyPolicy policy, String text) {
+        JRadioButton radioButton = rbProxyPolicy.get(policy);
+        radioButton.setText(text);
+        return radioButton;
+    }
+
     /**
      * Initializes the panel with the values from the preferences
      */
     public final void initFromPreferences() {
-        ProxyPolicy pp = Optional.ofNullable(ProxyPolicy.fromName(Config.getPref().get(DefaultProxySelector.PROXY_POLICY, null)))
+        IPreferences pref = Config.getPref();
+        ProxyPolicy pp = Optional.ofNullable(ProxyPolicy.fromName(pref.get(DefaultProxySelector.PROXY_POLICY, null)))
                 .orElse(ProxyPolicy.NO_PROXY);
         rbProxyPolicy.get(pp).setSelected(true);
-        tfProxyHttpHost.setText(Config.getPref().get(DefaultProxySelector.PROXY_HTTP_HOST, ""));
-        tfProxyHttpPort.setText(Config.getPref().get(DefaultProxySelector.PROXY_HTTP_PORT, ""));
-        tfProxySocksHost.setText(Config.getPref().get(DefaultProxySelector.PROXY_SOCKS_HOST, ""));
-        tfProxySocksPort.setText(Config.getPref().get(DefaultProxySelector.PROXY_SOCKS_PORT, ""));
+        tfProxyHttpHost.setText(pref.get(DefaultProxySelector.PROXY_HTTP_HOST, ""));
+        tfProxyHttpPort.setText(pref.get(DefaultProxySelector.PROXY_HTTP_PORT, ""));
+        tfProxySocksHost.setText(pref.get(DefaultProxySelector.PROXY_SOCKS_HOST, ""));
+        tfProxySocksPort.setText(pref.get(DefaultProxySelector.PROXY_SOCKS_PORT, ""));
 
         if (pp == ProxyPolicy.USE_SYSTEM_SETTINGS && !DefaultProxySelector.willJvmRetrieveSystemProxies()) {
@@ -275,5 +283,5 @@
     class ProxyPolicyChangeListener implements ItemListener {
         @Override
-        public void itemStateChanged(ItemEvent arg0) {
+        public void itemStateChanged(ItemEvent e) {
             updateEnabledState();
         }
@@ -301,9 +309,10 @@
                 .filter(pp -> rbProxyPolicy.get(pp).isSelected())
                 .findFirst().orElse(null);
-        Config.getPref().put(DefaultProxySelector.PROXY_POLICY, Optional.ofNullable(policy).orElse(ProxyPolicy.NO_PROXY).getName());
-        Config.getPref().put(DefaultProxySelector.PROXY_HTTP_HOST, tfProxyHttpHost.getText());
-        Config.getPref().put(DefaultProxySelector.PROXY_HTTP_PORT, tfProxyHttpPort.getText());
-        Config.getPref().put(DefaultProxySelector.PROXY_SOCKS_HOST, tfProxySocksHost.getText());
-        Config.getPref().put(DefaultProxySelector.PROXY_SOCKS_PORT, tfProxySocksPort.getText());
+        IPreferences pref = Config.getPref();
+        pref.put(DefaultProxySelector.PROXY_POLICY, Optional.ofNullable(policy).orElse(ProxyPolicy.NO_PROXY).getName());
+        pref.put(DefaultProxySelector.PROXY_HTTP_HOST, tfProxyHttpHost.getText());
+        pref.put(DefaultProxySelector.PROXY_HTTP_PORT, tfProxyHttpPort.getText());
+        pref.put(DefaultProxySelector.PROXY_SOCKS_HOST, tfProxySocksHost.getText());
+        pref.put(DefaultProxySelector.PROXY_SOCKS_PORT, tfProxySocksPort.getText());
 
         // update the proxy selector
