Index: core/src/org/netbeans/core/Bundle.properties =================================================================== RCS file: /shared/data/ccvs/repository/core/src/org/netbeans/core/Bundle.properties,v retrieving revision 1.409.2.3 diff -u -r1.409.2.3 Bundle.properties --- core/src/org/netbeans/core/Bundle.properties 18 Jan 2006 18:50:59 -0000 1.409.2.3 +++ core/src/org/netbeans/core/Bundle.properties 30 May 2006 08:53:51 -0000 @@ -55,6 +55,8 @@ HINT_UI_Mode=UI Mode PROP_ignoredFiles=Ignored Files HINT_ignoredFiles=Regular expression of files to ignore. Match whole name, no path. Blank for none. +PROP_NON_PROXY_HOSTS=Non Proxy Hosts +HINT_NON_PROXY_HOSTS=Ignore Hosts List CTL_NO_PROXY=No Proxy CTL_SYSTEM_PROXY=Use System Proxy Settings Index: core/src/org/netbeans/core/IDESettings.java =================================================================== RCS file: /shared/data/ccvs/repository/core/src/org/netbeans/core/IDESettings.java,v retrieving revision 1.66.24.2 diff -u -r1.66.24.2 IDESettings.java --- core/src/org/netbeans/core/IDESettings.java 18 Jan 2006 18:51:00 -0000 1.66.24.2 +++ core/src/org/netbeans/core/IDESettings.java 30 May 2006 08:53:51 -0000 @@ -7,7 +7,7 @@ * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original - * Code is Sun Microsystems, Inc. Portions Copyright 1997-2005 Sun + * Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun * Microsystems, Inc. All Rights Reserved. */ @@ -70,6 +70,8 @@ public static final String PROP_WWWBROWSER = "WWWBrowser"; // NOI18N /** UI Mode */ public static final String PROP_UIMODE = "UIMode"; // NOI18N + /** Non Proxy Hosts */ + public static final String PROP_NON_PROXY_HOSTS = "userNonProxy"; // NOI18N /** files that should be ignored * @@ -121,6 +123,8 @@ private static int proxyType = -1; // not initialized private static String userProxyHost = System.getProperty(KEY_PROXY_HOST, ""); private static String userProxyPort = System.getProperty(KEY_PROXY_PORT, ""); + private static String userNonProxyHosts; + private static String defaultNonProxyHosts; private static int uiMode = 2; // MDI default @@ -133,14 +137,16 @@ protected void initialize () { // Set default values of properties super.initialize (); - setProxy(); + this.defaultNonProxyHosts = getDefaultNonProxyHosts (); + this.userNonProxyHosts = this.defaultNonProxyHosts; + setProxy (); putProperty(PROP_WWWBROWSER, "", false); } private void setProxy() { String host = getProxyHost (); String port = getProxyPort(); - String nonProxyHosts = getDefaultNonProxyHosts(); + String nonProxyHosts = getNonProxyHosts (); System.setProperty (KEY_PROXY_HOST, host); System.setProperty (KEY_PROXY_PORT, port); System.setProperty (KEY_NON_PROXY_HOSTS, nonProxyHosts); @@ -362,6 +368,20 @@ return null; } + public void setUserNonProxyHosts (String value) { + value = value == null ? "" : value; + if (!value.equals (this.userNonProxyHosts)) { + System.setProperty (KEY_NON_PROXY_HOSTS, value); + System.setProperty (KEY_HTTPS_NON_PROXY_HOSTS, value); + firePropertyChange (KEY_NON_PROXY_HOSTS, this.userNonProxyHosts, value); + this.userNonProxyHosts = value; + } + } + + public String getUserNonProxyHosts () { + return this.userNonProxyHosts; + } + public void readOldProxyHost (String value) { setUserProxyHost (value); } @@ -376,15 +396,13 @@ */ public void setProxyHost (String value) { value = value == null ? "" : value; - if (MANUAL_SET_PROXY == getProxyType ()) { - if (!getUserProxyHost().equals (value)) { - String oldHost = getUserProxyHost (); - setUserProxyHost (value); - System.setProperty (KEY_PROXY_HOST, value); - System.setProperty (KEY_HTTPS_PROXY_HOST, value); - } + assert MANUAL_SET_PROXY == getProxyType () : "Don't set proxy host if proxy type " + getProxyType (); + if (!getUserProxyHost().equals (value)) { + String oldHost = getUserProxyHost (); + setUserProxyHost (value); + System.setProperty (KEY_PROXY_HOST, value); + System.setProperty (KEY_HTTPS_PROXY_HOST, value); } - assert false : "Don't set proxy host if proxy type " + getProxyType (); } /** @@ -412,15 +430,13 @@ */ public void setProxyPort (String value) { value = value == null ? "" : value; - if (MANUAL_SET_PROXY == getProxyType ()) { - if (!getUserProxyPort ().equals (value)) { - String oldPort = getUserProxyPort (); - setUserProxyPort (value); - System.setProperty (KEY_PROXY_PORT, getProxyPort ()); - System.setProperty (KEY_HTTPS_PROXY_PORT, getProxyPort ()); - } + assert MANUAL_SET_PROXY == getProxyType () : "Don't set proxy port if proxy type " + getProxyType (); + if (!getUserProxyPort ().equals (value)) { + String oldPort = getUserProxyPort (); + setUserProxyPort (value); + System.setProperty (KEY_PROXY_PORT, getProxyPort ()); + System.setProperty (KEY_HTTPS_PROXY_PORT, getProxyPort ()); } - assert false : "Don't set proxy port if proxy type " + getProxyType (); } /** Getter for showing file extensions. @@ -551,8 +567,9 @@ * PENDING: should be a user settable property * @return sensible default for non-proxy hosts, including 'localhost' */ - private String getDefaultNonProxyHosts() { - String nonProxy = "localhost|127.0.0.1"; // NOI18N + private static String getDefaultNonProxyHosts() { + String userPreset = System.getProperty (KEY_NON_PROXY_HOSTS); + String nonProxy = (userPreset == null ? "" : userPreset + "|") + "localhost|127.0.0.1"; // NOI18N String localhost = ""; // NOI18N try { localhost = InetAddress.getLocalHost().getHostName(); @@ -637,6 +654,20 @@ } return systemProxy.substring (i+1); + } + + public String getNonProxyHosts () { + switch (getProxyType ()) { + case AUTO_DETECT_PROXY : + return this.defaultNonProxyHosts; + case MANUAL_SET_PROXY : + return getUserNonProxyHosts (); + case DIRECT_CONNECTION : + return ""; // NOI18N + } + + assert false : "Unknown proxy type " + getProxyType (); + return null; } } Index: core/src/org/netbeans/core/IDESettingsBeanInfo.java =================================================================== RCS file: /shared/data/ccvs/repository/core/src/org/netbeans/core/IDESettingsBeanInfo.java,v retrieving revision 1.43 diff -u -r1.43 IDESettingsBeanInfo.java --- core/src/org/netbeans/core/IDESettingsBeanInfo.java 4 Jun 2005 05:11:05 -0000 1.43 +++ core/src/org/netbeans/core/IDESettingsBeanInfo.java 30 May 2006 08:53:51 -0000 @@ -63,6 +63,9 @@ null, "readOldProxyHost"), // NOI18N new PropertyDescriptor ("proxyPort", IDESettings.class, null, "readOldProxyPort"), // NOI18N + // need to store nonProxyHosts + new PropertyDescriptor (IDESettings.PROP_NON_PROXY_HOSTS, IDESettings.class, + "getUserNonProxyHosts", "setUserNonProxyHosts"), // NOI18N }; desc[0].setDisplayName (NbBundle.getMessage (IDESettingsBeanInfo.class, "PROP_CONFIRM_DELETE")); @@ -103,6 +106,9 @@ desc[12].setHidden (true); desc[13].setHidden (true); + + desc[14].setDisplayName (NbBundle.getMessage (IDESettingsBeanInfo.class, "PROP_NON_PROXY_HOSTS")); + desc[14].setShortDescription (NbBundle.getMessage (IDESettingsBeanInfo.class,"HINT_NON_PROXY_HOSTS")); return desc; } catch (IntrospectionException ex) { Index: core/test/unit/src/org/netbeans/core/HttpSettingsTest.java =================================================================== RCS file: /shared/data/ccvs/repository/core/test/unit/src/org/netbeans/core/HttpSettingsTest.java,v retrieving revision 1.1 diff -u -r1.1 HttpSettingsTest.java --- core/test/unit/src/org/netbeans/core/HttpSettingsTest.java 11 Dec 2004 20:18:28 -0000 1.1 +++ core/test/unit/src/org/netbeans/core/HttpSettingsTest.java 30 May 2006 08:53:54 -0000 @@ -7,12 +7,13 @@ * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original - * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun + * Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.core; +import com.sun.xml.bind.v2.model.runtime.RuntimeElement; import org.netbeans.junit.*; import junit.textui.TestRunner; import org.openide.util.io.NbMarshalledObject; @@ -40,7 +41,9 @@ protected void setUp () throws Exception { super.setUp (); System.setProperty ("netbeans.system_http_proxy", SYSTEM_PROXY_HOST + ":" + SYSTEM_PROXY_PORT); + System.setProperty ("http.nonProxyHosts", "*.netbeans.org"); settings = (IDESettings)IDESettings.findObject(IDESettings.class, true); + settings.initialize (); settings.setUserProxyHost (USER_PROXY_HOST); settings.setUserProxyPort (USER_PROXY_PORT); } @@ -76,9 +79,45 @@ assertEquals ("Original user proxy port returned from deserialized IDESettings", USER_PROXY_PORT, deserializedSettings.getProxyPort ()); deserializedSettings.setUserProxyHost ("new.cache"); deserializedSettings.setUserProxyPort ("80"); + deserializedSettings.setUserNonProxyHosts ("*.mydomain.org"); IDESettings againDeserializedSettings = (IDESettings) new NbMarshalledObject (deserializedSettings).get (); assertEquals ("New user proxy host returned from deserialized IDESettings after change", "new.cache", againDeserializedSettings.getProxyHost ()); assertEquals ("New user proxy port returned from deserialized IDESettings after change", "80", againDeserializedSettings.getProxyPort ()); + assertEquals ("New user non proxy hosts returned from deserialized IDESettings after change", "*.mydomain.org", againDeserializedSettings.getNonProxyHosts ()); + } + + public void testIfTakeUpNonProxyFromProperty () { + assertTrue ("*.netbeans.org in among not Http Proxy Hosts.", settings.getNonProxyHosts ().indexOf ("*.netbeans.org") != -1); + } + + public void testNonProxy () { + assertEquals ("The IDESettings takes as same value as System properties in initial.", System.getProperty ("http.nonProxyHosts"), settings.getNonProxyHosts ()); + + // change value in IDESettings + settings.setProxyType (IDESettings.MANUAL_SET_PROXY); + settings.setUserNonProxyHosts ("myhost.mydomain.net"); + assertEquals ("IDESettings returns new value.", "myhost.mydomain.net", settings.getNonProxyHosts ()); + assertEquals ("System property http.nonProxyHosts was changed as well.", settings.getNonProxyHosts (), System.getProperty ("http.nonProxyHosts")); + + // switch proxy type to DIRECT_CONNECTION + settings.setProxyType (IDESettings.DIRECT_CONNECTION); + assertFalse ("IDESettings doesn't return new value if DIRECT_CONNECTION set.", "myhost.mydomain.net".equals (settings.getNonProxyHosts ())); + assertEquals ("System property http.nonProxyHosts was changed as well.", settings.getNonProxyHosts (), System.getProperty ("http.nonProxyHosts")); + + // switch proxy type back to MANUAL_SET_PROXY + settings.setProxyType (IDESettings.MANUAL_SET_PROXY); + assertEquals ("IDESettings again returns new value.", "myhost.mydomain.net", settings.getNonProxyHosts ()); + assertEquals ("System property http.nonProxyHosts was changed as well.", settings.getNonProxyHosts (), System.getProperty ("http.nonProxyHosts")); + + // switch proxy type to AUTO_DETECT_PROXY + settings.setProxyType (IDESettings.AUTO_DETECT_PROXY); + assertFalse ("IDESettings doesn't return new value if AUTO_DETECT_PROXY set.", "myhost.mydomain.net".equals (settings.getNonProxyHosts ())); + assertEquals ("System property http.nonProxyHosts was changed as well.", settings.getNonProxyHosts (), System.getProperty ("http.nonProxyHosts")); + + // switch proxy type back to MANUAL_SET_PROXY + settings.setProxyType (IDESettings.MANUAL_SET_PROXY); + assertEquals ("IDESettings again returns new value.", "myhost.mydomain.net", settings.getNonProxyHosts ()); + assertEquals ("System property http.nonProxyHosts was changed as well.", settings.getNonProxyHosts (), System.getProperty ("http.nonProxyHosts")); } } Index: editor/options/src/org/netbeans/modules/options/general/Bundle.properties =================================================================== RCS file: /shared/data/ccvs/repository/editor/options/src/org/netbeans/modules/options/general/Bundle.properties,v retrieving revision 1.2.2.3 diff -u -r1.2.2.3 Bundle.properties --- editor/options/src/org/netbeans/modules/options/general/Bundle.properties 18 Jan 2006 19:08:29 -0000 1.2.2.3 +++ editor/options/src/org/netbeans/modules/options/general/Bundle.properties 30 May 2006 08:53:54 -0000 @@ -6,7 +6,7 @@ # http://www.sun.com/ # # The Original Code is NetBeans. The Initial Developer of the Original -# Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun +# Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun # Microsystems, Inc. All Rights Reserved. @@ -37,6 +37,8 @@ AD_Host=Host AN_Port=Port AD_Port=Port +AN_NonProxy=No Proxy For +AD_NonProxy=No Proxy For AN_Update_Period=Update Period AD_Update_Period=Update Period AN_Ask_Before_Check=Ask Before Check @@ -58,8 +60,10 @@ Confirm_Delete=&Confirm Delete: Web_Proxy=Web Proxy: Proxy_Settings=Proxy -Proxy_Port=P&roxy Port: +Proxy_Port=Po&rt: Proxy_Host=Pro&xy Host: +Non_Proxy=No Prox&y For: +Non_Proxy_Hint=(e.g. localhost, .netbeans.org, .mydomain.com) Code_Folding=Code Folding: Show=Show: Editor=Editor Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsModel.java =================================================================== RCS file: /shared/data/ccvs/repository/editor/options/src/org/netbeans/modules/options/general/GeneralOptionsModel.java,v retrieving revision 1.3.8.1 diff -u -r1.3.8.1 GeneralOptionsModel.java --- editor/options/src/org/netbeans/modules/options/general/GeneralOptionsModel.java 19 Jan 2006 22:42:57 -0000 1.3.8.1 +++ editor/options/src/org/netbeans/modules/options/general/GeneralOptionsModel.java 30 May 2006 08:53:54 -0000 @@ -7,7 +7,7 @@ * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original - * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun + * Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun * Microsystems, Inc. All Rights Reserved. */ @@ -84,6 +84,18 @@ ideSettings.setUserProxyPort ("" + proxyPort); } + String getUserNonProxy () { + IDESettings ideSettings = (IDESettings) IDESettings.findObject + (IDESettings.class, true); + return code2view (ideSettings.getUserNonProxyHosts ()); + } + + void setUserNonProxy (String nonProxy) { + IDESettings ideSettings = (IDESettings) IDESettings.findObject + (IDESettings.class, true); + ideSettings.setUserNonProxyHosts (view2code (nonProxy)); + } + boolean getAutoUpdateAskBeforeCheck () { Settings settings = (Settings) Settings.findObject (Settings.class, true); @@ -203,6 +215,14 @@ return baseOptions; } return null; + } + + private static String code2view (String code) { + return code == null ? code : code.replace ("|", ", "); + } + + private static String view2code (String view) { + return view == null ? view : view.replace (", ", "|"); } } Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java =================================================================== RCS file: /shared/data/ccvs/repository/editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java,v retrieving revision 1.2.2.3 diff -u -r1.2.2.3 GeneralOptionsPanel.java --- editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java 18 Jan 2006 19:08:31 -0000 1.2.2.3 +++ editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java 30 May 2006 08:53:54 -0000 @@ -7,7 +7,7 @@ * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original - * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun + * Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun * Microsystems, Inc. All Rights Reserved. */ @@ -67,6 +67,7 @@ private JRadioButton rbHTTPProxy = new JRadioButton (); private JTextField tfHost = new JTextField (); private JTextField tfPort = new JTextField (); + private JTextField tfNonProxy = new JTextField (); private JComboBox cbUpdatePeriod = new JComboBox (new String [] { loc ("CTL_Update_every_startup"), loc ("CTL_Update_every_day"), @@ -88,6 +89,8 @@ tfHost.getAccessibleContext ().setAccessibleDescription (loc ("AD_Host")); tfPort.getAccessibleContext ().setAccessibleName (loc ("AN_Port")); tfPort.getAccessibleContext ().setAccessibleDescription (loc ("AD_Port")); + tfNonProxy.getAccessibleContext ().setAccessibleName (loc ("AN_NonProxy")); + tfNonProxy.getAccessibleContext ().setAccessibleDescription (loc ("AD_NonProxy")); cbUpdatePeriod.getAccessibleContext ().setAccessibleName (loc ("AN_Update_Period")); cbUpdatePeriod.getAccessibleContext ().setAccessibleDescription (loc ("AD_Update_Period")); cbAskBeforeCheck.getAccessibleContext ().setAccessibleName (loc ("AN_Ask_Before_Check")); @@ -100,6 +103,7 @@ cbWebBrowser.addActionListener (this); tfHost.addActionListener (this); tfPort.addActionListener (this); + tfNonProxy.addActionListener (this); cbUpdatePeriod.addActionListener (this); cbAskBeforeCheck.addActionListener (this); @@ -115,36 +119,40 @@ loc (rbNoProxy, "No_Proxy"); loc (rbSystemProxy, "Use_System_Proxy_Settings"); loc (rbHTTPProxy, "Use_HTTP_Proxy"); + tfPort.setColumns (4); FormLayout layout = new FormLayout( - "5dlu, l:p, 5dlu, p:g, 1dlu, p", // cols + "5dlu, l:p, 5dlu, p:g, 5dlu, l:p, 5dlu, p", // cols "p, 3dlu, p, 3dlu, p, 3dlu, p, 10dlu, p, 3dlu" + - ", p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 10dlu, p, 3dlu, p, 3dlu, p"); // rows + ", p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 10dlu, p, 3dlu, p, 3dlu, p"); // rows PanelBuilder builder = new PanelBuilder (layout, this); CellConstraints cc = new CellConstraints (); CellConstraints lc = new CellConstraints (); - builder.addSeparator (loc ("General"), cc.xyw (1, 1, 6)); + builder.addSeparator (loc ("General"), cc.xyw (1, 1, 8)); builder.addLabel ( loc ("Package_View_Type"),lc.xy (2, 3), rbFlatternPackages, cc.xyw (4, 3, 3)); builder.add ( rbTreePackages, cc.xyw (4, 5, 3)); builder.addLabel ( loc ("Web_Browser"), lc.xy (2, 7), - cbWebBrowser, cc.xy (4, 7)); + cbWebBrowser, cc.xyw (4, 7, 5)); - builder.addSeparator (loc ("Proxy_Settings"), cc.xyw (1, 9, 6)); + builder.addSeparator (loc ("Proxy_Settings"), cc.xyw (1, 9, 8)); builder.addLabel ( loc ("Web_Proxy"), lc.xy (2, 11), rbNoProxy, cc.xyw (4, 11, 3)); builder.add ( rbSystemProxy, cc.xyw (4, 13, 3)); builder.add ( rbHTTPProxy, cc.xyw (4, 15, 3)); builder.addLabel ( loc ("Proxy_Host"), lc.xy (2, 17), - tfHost, cc.xyw (4, 17, 3)); - builder.addLabel ( loc ("Proxy_Port"), lc.xy (2, 19), - tfPort, cc.xyw (4, 19, 3)); - - builder.addSeparator (loc ("Auto_Update"), cc.xyw (1, 21, 6)); - builder.addLabel ( loc ("Check_Period"), lc.xy (2, 23), - cbUpdatePeriod, cc.xyw (4, 23, 3)); - builder.addLabel ( loc ("Ask_Before_Check"), lc.xy (2, 25), - cbAskBeforeCheck, cc.xyw (4, 25, 3)); + tfHost, cc.xyw (4, 17, 1)); + builder.addLabel ( loc ("Proxy_Port"), lc.xy (6, 17), + tfPort, cc.xyw (8, 17, 1)); + builder.addLabel ( loc ("Non_Proxy"), lc.xy (2, 19), + tfNonProxy, cc.xyw (4, 19, 5)); + builder.addLabel ( loc ("Non_Proxy_Hint"), lc.xy (4, 21)); + + builder.addSeparator (loc ("Auto_Update"), cc.xyw (1, 23, 8)); + builder.addLabel ( loc ("Check_Period"), lc.xy (2, 25), + cbUpdatePeriod, cc.xyw (4, 25, 5)); + builder.addLabel ( loc ("Ask_Before_Check"), lc.xy (2, 27), + cbAskBeforeCheck, cc.xyw (4, 27, 3)); // if system proxy setting is not detectable, disable this radio // button @@ -186,16 +194,19 @@ rbNoProxy.setSelected (true); tfHost.setEnabled (false); tfPort.setEnabled (false); + tfNonProxy.setEnabled (false); break; case 1: rbSystemProxy.setSelected (true); tfHost.setEnabled (false); tfPort.setEnabled (false); + tfNonProxy.setEnabled (false); break; default: rbHTTPProxy.setSelected (true); tfHost.setEnabled (true); tfPort.setEnabled (true); + tfNonProxy.setEnabled (true); break; } tfHost.setText (model.getProxyHost ()); @@ -204,6 +215,7 @@ tfPort.setText (Integer.toString (port)); else tfPort.setText (""); + tfNonProxy.setText (model.getUserNonProxy ()); // Autoupdate settings cbAskBeforeCheck.setSelected (model.getAutoUpdateAskBeforeCheck ()); @@ -249,14 +261,6 @@ if (model == null) return; // proxy settings - model.setProxyHost (tfHost.getText ()); - try { - model.setProxyPort ( - Math.max (Integer.parseInt (tfPort.getText ()), 0) - ); - } catch (NumberFormatException ex) { - model.setProxyPort (0); - } if (rbNoProxy.isSelected ()) { model.setProxyType (0); } else @@ -265,6 +269,15 @@ } else { model.setProxyType (2); } + model.setProxyHost (tfHost.getText ()); + model.setUserNonProxy (tfNonProxy.getText ()); + try { + model.setProxyPort ( + Math.max (Integer.parseInt (tfPort.getText ()), 0) + ); + } catch (NumberFormatException ex) { + model.setProxyPort (0); + } // Autoupdate settings model.setAutoUpdateAskBeforeCheck (cbAskBeforeCheck.isSelected ()); @@ -312,6 +325,9 @@ if (!tfPort.getText ().equals (Integer.toString (model.getProxyPort ()))) return true; } else if (!tfPort.getText ().equals ("")) return true; + if (!tfNonProxy.getText ().equals (model.getUserNonProxy ())) { + return true; + } return changed; } @@ -319,6 +335,7 @@ changed = true; tfHost.setEnabled (rbHTTPProxy.isSelected ()); tfPort.setEnabled (rbHTTPProxy.isSelected ()); + tfNonProxy.setEnabled (rbHTTPProxy.isSelected ()); } }