I have a question in regards to pressing the cancel button of my inputDialoguebox. I have asked a similar question before so I apologize if I seem to repeat myself.
The main problem I have is that my code executes regardless of me pressing cancel and a socket connection does get made even if I don't add any input.
Why does this happen and how can I avoid this?
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);
So with the code being the way it is at the moment the clientsocket connection is made even if I do press cancel. Is the reason for this perhaps because I have the Server and Client as two seperate programs on the same machine? How can I avoid this from happening?
A cancel button is clicked whenever the user presses the ESC key, regardless of which other control on the form has the focus. Such a button is usually programmed to enable the user to quickly exit an operation without committing to any action.
If the user clicks "cancel", the response will be null. If they click "ok" without entering any text the response will be the empty string.
When you click on the Cancel Button
of the showInputDialog(...)
, you always get a null value, for which no condition is satisfied, hence a new connection is always established.
So you can add this condition like this :
if(input == null || (input != null && ("".equals(input))))
{
throw new EmptyFieldsException();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With