我以前用Java编程,但我对创建GUI很陌生,因此,我是Swing的新手。我正在尝试创建一个类似策划者的游戏,其中用户有一定数量的猜测来确定密码。我遇到的问题是找到一种方法,让一次可能出现一个可能变化的匝数的输入字段。如果用户得到10个猜测,则只显示第一个猜测的输入字段和提交按钮。提交第一个猜测后,应显示第二个字段和提交按钮。提交第二组之后,出现第三组,依此类推,直到用户获得正确的代码或完全耗尽所有代码。
我有一个可靠的游戏,因为它作为一个基于CLI的应用程序工作得很漂亮,但我真的想把它变成一个GUI,这个方面让我感到困扰。
提前感谢您提供的任何帮助。
我收到的反馈意见是我的范围过于广泛或具有某种性质。我不确定如何才能使这个问题变得不那么广泛。我想要做的是在窗口中有一个猜测字段和一个复制指定次数的提交按钮,或直到猜测正确。例如,有问题的游戏类似于策划者。游戏开始时,会显示一个输入框和一个提交按钮。如果用户输入错误,则会显示新的猜测框和新的提交按钮以进行第二次猜测。此过程一直持续到用户猜到X次或直到用户获得正确的代码为止。我知道如何在开始时静态添加字段,但我想形成动态并随着游戏的进展而改变,这就是我遇到麻烦。我甚至无法找到从哪里开始寻找答案。我已经浏览了Swing文档,以及Java和Swing的许多其他教程和资源,我还没有找到或设计一个明确的解决方案。
如果它有助于缩小关注的范围,我只需1个输入框即可启动和运行游戏,但它没有提供从CLI版本中充分删除的外观和感觉
答案 0 :(得分:1)
核心UI的基本要求是字段和标签。这形成了基本的QuestionPanel
首先创建一个自定义组件,从JPanel
扩展。在此面板中,以您希望的方式添加标签和字段。
提供制定者和获取者来调整面板上的信息(例如设置问题并猜测)。
使用JPanel
创建BorderLayout
。在BorderLayout.SOUTH
位置,您需要添加Submit
JButton
(如果您首先将JButton
添加到另一个JPanel
,您可能会发现效果更好并将其添加到第一个)。
将QuestionPane
添加到BorderLayout.CENTER
位置。现在,您可以获得UI的基本布局要求。
您需要向ActionListener
添加JButton
,以便了解何时应该转到下一个问题。
您需要某种模型,其中包含所有问题和答案以及您可以设置猜测或标记问题是对还是错的方法。
看看
了解更多详情......
答案 1 :(得分:0)
只需克隆输入和提交,然后将其添加到容器中。