diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
index 59073f3cd373..baf7072785b9 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
@@ -26,7 +26,6 @@ import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.util.text.StringUtilRt;
-import com.intellij.ui.PortField;
import com.intellij.xdebugger.impl.settings.DebuggerConfigurable;
import org.jetbrains.annotations.NotNull;
@@ -40,7 +39,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private JTextField myAddressField;
private JPanel myShMemPanel;
private JPanel myPortPanel;
- private PortField myPortField;
+ private JTextField myPortField;
private boolean myIsLocal = false;
private JButton myDebuggerSettings;
private JRadioButton mySocketTransport;
@@ -94,7 +93,6 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
myPortPanel.setVisible(isSocket());
myShMemPanel.setVisible(!isSocket());
myAddressField.setEditable(!myIsLocal);
- myPortField.setEditable(!myIsLocal);
mySocketTransport.setEnabled(!myIsLocal);
myShmemTransport.setEnabled(!myIsLocal);
}
@@ -142,7 +140,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private String getPort() {
if (isSocket()) {
- return String.valueOf(myPortField.getNumber());
+ return String.valueOf(myPortField.getText());
}
else {
return myAddressField.getText();
@@ -150,10 +148,18 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
}
private void checkPort() throws ConfigurationException {
- if (isSocket() && !myPortField.isSpecified()) {
+ if (isSocket() && parsePort() == 0) {
throw new ConfigurationException(DebuggerBundle.message("error.text.invalid.port"));
}
}
+ private int parsePort() {
+ try {
+ return Math.max(0, Integer.parseInt(myPortField.getText()));
+ }
+ catch (NumberFormatException e) {
+ return 0;
+ }
+ }
private void setTransport(int transport) {
mySocketTransport.setSelected(transport == DebuggerSettings.SOCKET_TRANSPORT);
@@ -168,7 +174,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private void setPort(String port) {
if (isSocket()) {
- myPortField.setNumber(StringUtilRt.parseInt(port, 0));
+ myPortField.setText(String.valueOf(StringUtilRt.parseInt(port, 0)));
}
else {
myAddressField.setText(port);
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
index 3cb1ef9bf190..d4c5f184e324 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
@@ -52,11 +52,13 @@
-
+
-
+
+
+