我将尽力解释 - 我正在尝试使用 TextField 和 TextArea 进行 choose-your-own-adventure 类型的游戏,其中 TextField 中的内容被附加到 TextArea 中(我知道如何通过 ActionListener 进行)。
但是,我需要让 TextArea 以 pre-written'intro'开头,它会在最后询问用户是否要继续。因此,我需要它能够扫描用户的响应(“是”或“否”),并选择适当的 pre-written 文本选择。
我不想覆盖 TextArea 中已有的内容,我想添加它。我想我很困惑,我应该如何布置整个文件以使其正常运行,因为冒险的不同选择跨越不同的方法。拥有“String text = textField.getText();”只在 actionPerformed 方法中意味着我不能在其他地方使用'text',但是将该行与我的其他变量一起移动告诉我它在定义之前不能引用该字段。
我是 Java 的新手,我正在将其作为一个 non-programming 学校课程的项目。到目前为止,我经历了很多次迭代,这似乎是我最后的尝试,因为我重复了它并且没有多少时间。 :(
1 回答
你的 questions/comments 和我试图回答:
根据我的评论,一定要创建一个使用
JTextField
和JTextArea
的 Swing GUI。然后,您将java.awt.event.ActionListener
添加到JTextArea
,只要用户在JTextField
中按<ENTER>
,ActionListener 就会响应。这可以很容易地完成,但听起来好像你可能试图将 shoe-horn 线性控制台类型程序放入 GUI 中。如果是这样,请考虑重新考虑您的程序设计,因为最适合的程序设计往往不适合另一个程序设计。如果你做 re-write,那么你应该考虑重做大多数,包括你的程序流程,但除了你以前的程序的“模型”部分,除了所有的基础之外的“业务逻辑”。
再次根据注释,JTextArea 有一个
append(String text)
方法,它将新文本添加到已存在于 JText 区域中的现有文本中。所以在那个注释中,你的 ActionListener 的actionPerformed
方法可能非常简单,看起来像:虽然您可能需要在要添加的文本之后的 and/or 之前添加换行符,
"\n"
。