同步GUI和while循环之间的交互

时间:2014-04-24 20:13:43

标签: java user-interface interface

我目前正在使用java编写游戏,并使用界面来处理游戏的输入/输出。我目前有一个正常的文本界面。我正在使用类似于以下内容的代码:

while (moveExists())
{
    String in = interface.getInput();
    processInput(in);
    interface.displayOutput(this.getState);
}

纯文本接口有效,因为它暂停等待输入,但我不确定如何在GUI实现中完成类似的行为。我如何“等待”来自actionListener的输入?

如果没有,我可能会使用不像游戏循环而更像是有限状态机的代码,这样我就不需要处理两个不同的线程来协调他们的行为。

1 个答案:

答案 0 :(得分:0)

您可以简单地启动一个GUI(它有自己的独立线程),其中包含一个文本区域,可能还有一个按钮或类似的东西,然后您将ActionListener添加到文本区域或按钮,然后执行您需要的代码触发监听器时(即已插入某些代码或单击按钮)。

另一个故事,如果你还有另一个'背景'线程需要在循环中运行......