Well, it does show you the data you want, but not a the pace you would like it to run.
I changed a couple of things around and managed to get some results. In your ConnectionHandler class's actionPerformed() method, the while loop goes really slow. This try statement takes a while to process.
try
{
InetAddress address = InetAddress.getByName(octet1 + "." + octet2 + "." + octet3+ "." + i);
display.setText(display.getText() + "\n" + "Address : " + address.getHostAddress() + "\tName: " + address.getHostName() + "\tReachable : " + address.isReachable(500) + "\n");
i++;
}
I recommend you have another thread process this data and have some sort of dialog box show while the data is process and have the frame in the background so the user doesn't interrupt anything or user the thinks the program froze.