我目前有一个小型Java项目,在该项目中,我必须为小型游戏建立对等连接。 该游戏托管在一个客户端的服务器上,因此从现在开始,我将这个客户端称为“主机”。 两个UI控制器都在观察GameState。 客户端和主机成功连接。现在,主持人可以单击“开始游戏”按钮。发生这种情况时,客户端和主机都应看到警报,但这不会在客户端发生。主机将看到警报,但客户端将不会。
public void update(Observable o, Object arg) {
if (o instanceof GameState) {
this.alert("Event", "Event received"
"An event was triggered by remote control.");
}
}
我已经检查了多个时间,如果客户端收到了更新的GameState并正确进行了。 我已经尝试建立一个新场景,但没有成功。
答案 0 :(得分:0)
我自己找到了解决方案。
对于那些感兴趣的人,javafx.application.Platform
是行之有效的方法。
就我而言:
public void update(Observable o, Object arg) {
if (o instanceof GameState) {
Platform.runLater( () -> this.alert("Event", "Event received"
"An event was triggered by remote control."));
}
}