diff --git a/app/src/main/java/org/toop/app/layer/layers/ConnectedLayer.java b/app/src/main/java/org/toop/app/layer/layers/ConnectedLayer.java index 4ca7266..01ae2f3 100644 --- a/app/src/main/java/org/toop/app/layer/layers/ConnectedLayer.java +++ b/app/src/main/java/org/toop/app/layer/layers/ConnectedLayer.java @@ -1,5 +1,6 @@ package org.toop.app.layer.layers; +import javafx.application.Platform; import org.toop.app.layer.Container; import org.toop.app.layer.Layer; import org.toop.app.layer.NodeBuilder; @@ -26,12 +27,15 @@ public final class ConnectedLayer extends Layer { this.clientId = clientId; this.user = user; - reload(); new EventFlow().addPostEvent(new NetworkEvents.SendLogin(this.clientId, this.user)).postEvent(); new EventFlow().listen(this::handleReceivedChallenge); - new Thread(this::populatePlayerList).start(); + Thread popThread = new Thread(this::populatePlayerList); + popThread.setDaemon(false); + popThread.start(); + + reload(); } private void populatePlayerList() { @@ -50,11 +54,12 @@ public final class ConnectedLayer extends Layer { TimerTask task = new TimerTask() { public void run() { sendGetPlayerList.postEvent(); + Platform.runLater(() -> reload()); } }; Timer pollTimer = new Timer(); - pollTimer.schedule(task, 0L, 5000L); + pollTimer.schedule(task, 0L, 5000L); // TODO: Block app exit, fix later } private void sendChallenge(String oppUsername, String gameType) { @@ -75,9 +80,10 @@ public final class ConnectedLayer extends Layer { ListView