我有一个问题,我有一个程序,我想测试用户记住随机颜色列表的能力。如果用户输入正确或错误,它将要求下一个颜色。
所以我完成了用户输入第一种颜色的所有工作。在用户输入第一种颜色之前。该程序已经假设用户输入错误,即使它没有要求任何输入。
我从以前的知识中知道我可以刷新缓冲区,你能用JOptionPane吗?
或者这是另一个我没看到的问题?
172.17.0.3
答案 0 :(得分:1)
这与冲洗缓冲区没有没有。
您在此处获得用户输入:foreach
方法中的guess = txtInput.getText();
。这意味着您在创建文本时从txtInput JTextField获取文本,在用户有机会在字段中输入任何内容之前。我认为您已经习惯于编写线性控制台程序,您可以立即获得用户的输入,但这不是事件驱动的GUI的工作方式。相反,您必须得到并响应用户在事件上的输入,这里可能是某个按钮的ActionListener。也许你的代码需要提交"提交" JButton或类似的东西,在其ActionListener中,从JTextField中提取输入并对其进行响应。这样做,你的代码有更好的工作机会。
其他问题:
修改问题底部发布的新代码存在同样的问题。