我正在尝试在我的 Java 应用程序中实现 MVP 模式,这是一个简单的棋盘游戏。这大致是我项目的结构:
1- 模型:包含游戏状态(玩家、棋盘位置等)的游戏类
2- Controller/Presenter:GameController 类包含游戏的所有逻辑,它操作游戏的不同阶段并与模型和视图界面交互
3- ViewInterface:它是控制器用来与用户交互的界面
4-视图:直接与用户交互的视图,实现了ViewInterface方法
我遇到的主要问题是,在游戏过程中,我必须向用户询问某些东西的价值,所以在我的控制器中我只需写
int valueINeed = viewInterface.getValue();
如果视图是基于文本的(即控制台输入),这种方法非常有效,但我正在尝试使用 swing 实现一个界面,这样做会阻塞我的 UI。那么询问用户输入的正确方法是什么?