Хорошо, как правильно заметил BalusC, вы действительно должны сначала зафиксировать сторону, не относящуюся к GUI.
Немного адаптируясь из кода, предоставленного на java-samples.com , вы можете использовать этот подход для сканирования каждого порта:
public class PortScanner {
public static void main(String args[]) {
int startPortRange = 0;
int stopPortRange = 65535;
for (int i = startPortRange; i <= stopPortRange; i++) {
try {
Socket ServerSok = new Socket("127.0.0.1", i);
System.out.println("Port in use: " + i);
ServerSok.close();
} catch (Exception e) {
}
System.out.println("Port not in use: " + i);
}
}
}
Я бы настоятельно рекомендовал вам найти более оптимизированный способ сделать это, так как этот метод невероятно медленный (и я должен признать, что я не проверял, что он работает надежно - это для вас).