diff --git a/ChatApp/app/src/main/java/client/ClientGuiController.java b/ChatApp/app/src/main/java/client/ClientGuiController.java index 6883157..79e3dd0 100644 --- a/ChatApp/app/src/main/java/client/ClientGuiController.java +++ b/ChatApp/app/src/main/java/client/ClientGuiController.java @@ -1,5 +1,7 @@ package client; +import javafx.animation.KeyFrame; +import javafx.animation.Timeline; import javafx.application.Platform; import javafx.fxml.FXML; import javafx.scene.control.*; @@ -7,6 +9,7 @@ import javafx.scene.layout.*; import javafx.scene.text.Text; import javafx.scene.text.TextFlow; import javafx.stage.Stage; +import javafx.util.Duration; import network.protocol.packets.ServerResponsePacket; import java.net.InetSocketAddress; @@ -57,6 +60,19 @@ public class ClientGuiController implements ClientListener { }); chatList.heightProperty().addListener((obs, oldVal, newVal) -> chatPane.setVvalue(1.0)); }); + + requestRoomsRegularly(); + } + + /** + * Request the list of rooms from the server every second. + */ + private void requestRoomsRegularly() { + Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(1), event -> { + client.RequestRoomList(); + })); + timeline.setCycleCount(Timeline.INDEFINITE); + timeline.play(); } @Override