У меня вопрос по поводу нажатия кнопки отмены моего inputDialoguebox. Я задавал подобный вопрос раньше, поэтому я прошу прощения, если я, кажется, повторяюсь.
Основная проблема, с которой я столкнулся, заключается в том, что мой код выполняется независимо от того, что я нажимаю «Отмена», и соединение с сокетом устанавливается, даже если я не добавляю никаких входных данных.
Почему это происходит и как мне этого избежать?
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);
Таким образом, с кодом, таким, каким он является в данный момент, устанавливается соединение с клиентским гнездом, даже если я нажимаю кнопку отмены. Возможно, причина этого в том, что у меня есть Сервер и Клиент как две отдельные программы на одной машине? Как я могу избежать этого?