Java:GUI到控制器线程通信

时间:2013-06-01 16:42:31

标签: java swing

我正在使用Java为大学项目构建游戏。游戏最初必须使用文本界面,之后才需要添加GUI。

我有一个运行游戏逻辑并更新游戏模型的线程,以及一个单独的线程,一个带有main函数的线程,实例化了JFrame,然后根据游戏状态切换面板(控制器告诉gui哪个帧用setPage方法显示。)

然而,获取用户输入正是让我疯狂的原因。 使用文本界面,我只需要调用一个方法来获取用户输入,就像getPlayerNum一样,在用户输入数字并按下回车后,我会将输入返回给控制器。 所有游戏逻辑都在游戏循环中实现,在需要时请求输入并将输出通知给视图。

如果我被迫使用基于事件的gui,我怎么能模仿类似的行为? 如何在用户单击按钮之前阻止方法调用,然后让方法返回正确的值?

1 个答案:

答案 0 :(得分:1)

开发独立游戏模型的荣誉。作为设计GUI的前奏,从这个非常简单的game开始。添加一个监听模型的TextView并报告游戏进度。这将帮助您了解GUI的工作原理,它可以帮助您确定模型中可能需要的其他功能。