我正在建立一个大厅,应该显示来自玩家的消息。
这是我的大厅控制器:
public class LobbyController{
@FXML public JFXTextArea chatArea;
@FXML public JFXTextField chatField;
public void displayChatMessage(String message){
chatArea.appendText(message);
}
@FXML
public void onEnter(){
Main.client.sendChatMessage(chatField.getText());
}
}
我正在从另一个类访问这个控制器,如下所示:
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(getClass().getResource("/views/lobby.fxml"));
fxmlLoader.load();
LobbyController controller = fxmlLoader.getController();
if(!gameStarted){
controller.displayChatMessage(((Packets.ChatMessage) o).message);
}
我的控制器肯定会收到消息,就好像我在 中放了一条打印线一样displayChatMessage()
,它会正确打印消息。
我的问题是appendText()
似乎根本没有改变文本。