En cliquant sur le bouton annuler showInputDialogue

J'ai une question en ce qui concerne appuyant sur le bouton annuler de mon inputDialoguebox. J'ai posé une question similaire avant, donc je m'excuse si j'ai l'air de me répéter.

Le principal problème que j'ai c'est que mon code s'exécute indépendamment de m'appuyer sur annuler et une prise de connexion ne se fait, même si je n'ai pas ajouter n'importe quelle entrée.

Pourquoi cela se produit et comment puis-je éviter cela?

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);

Donc avec le code à la façon dont il est pour le moment la clientsocket connexion est établie, même si je n'appuyez sur annuler. C'est la raison pour cela peut-être parce que j'ai le Serveur et le Client que les deux séparés des programmes sur la même machine? Comment puis-je éviter cela?

Pour mieux aider plus tôt, après une SSCCE. BTW - showInputDialogue & inputDialoguebox pas de telles choses. Veuillez prendre plus de soin de taper des messages.
Désolé. Je vais le faire

OriginalL'auteur Arianule | 2012-03-16