Tengo una pregunta con respecto a presionar el botón cancelar de mi inputDialoguebox. He hecho una pregunta similar antes, así que me disculpo si parece que me repito.Haciendo clic en el botón cancelar showInputDialogue
El principal problema que tengo es que mi código se ejecuta independientemente de que yo presione cancelar y se realiza una conexión de socket incluso si no agrego ninguna entrada.
¿Por qué sucede esto y cómo puedo evitar esto?
String input = "";
try
{
InetAddress host = InetAddress.getLocalHost();
String hostAddress = host.getHostAddress();
//setting label to host number so as to know what number to use
labHostName.setText("(" + hostAddress + ")");
input = JOptionPane.showInputDialog(null,"Please enter host name to access server(dotted number only)...see number on frame", "name", JOptionPane.INFORMATION_MESSAGE);
if(input != null && "".equals(input))//input != null && input.equals(""))
{
throw new EmptyFieldsException();
}
else if(input != null && !input.equals(hostAddress))
{
throw new HostAddressException();
}
else
{
clientSocket = new Socket(input, 7777);
Así, con el código de ser la forma en que es en el momento de la conexión ClientSocket se hace aún si lo hago pulse cancelar. ¿El motivo es tal vez porque tengo el Servidor y el Cliente como dos programas separados en la misma máquina? ¿Cómo puedo evitar que esto suceda?
Para una mejor ayuda antes, publique un [SSCCE] (http://sscce.org/). Por cierto, 'showInputDialogue' y' inputDialoguebox' no son tales cosas. Por favor, toma más cuidado escribiendo mensajes. –
Lo siento. Haré eso – Arianule