Java Swing GUI friert ein
Ich schreibe eine Java-Client / Server-GUI-Anwendung mit Sockets und hier ist das Problem:
Ich habe eine Schaltfläche, um nach einem bestimmten Port zu suchen:
button actionPerformed-Methode
private void listenButtonActionPerformed(java.awt.event.ActionEvent evt) {
int port = Integer.parseInt(portTextfield.getText(), 10);
try {
socket.listen(port);
} catch (IOException ex) {
}
}
Hier ist die socket.listen Methode
public static void listen() throws IOException {
ServerSocket ss = new ServerSocket(port);
while (true)
new socket(ss.accept());
}
"Socket" -Klasse erweitert "Thread"
Nachdem ss.accept () einen Wert zurückgegeben hat, wird eine neue Socket-Instanz in einem separaten Thread erstellt.
Nach dem Klicken auf die Schaltfläche friert die GUI ein, da sich innerhalb der socket.listen-Methode eine Endlosschleife befindet. Wie kann ich das vermeiden?