- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我会尽力解释——我正在尝试使用 TextField 和 TextArea 制作一个选择自己的冒险类型游戏,其中 TextField 中写入的内容将 append 到 TextArea 中(这我知道如何通过 ActionListener 进行操作)。
但是,我需要让 TextArea 以预先编写的“简介”开头,最后询问用户是否要继续。因此,我需要它能够扫描用户的响应("is"或“否”)并选择要遵循的适当的预写文本。
我不想覆盖 TextArea 中已有的内容,我想添加到其中。我想我对如何布局整个文件以使其正常运行感到困惑,因为冒险的不同选择涉及不同的方法。拥有“字符串文本 = textField.getText();”仅在 actionPerformed 方法中意味着我不能在其他地方使用“文本”,但是将该行与其他变量一起移动告诉我它无法在定义之前引用该字段。
我对 Java 相当陌生,正在将其作为非编程学校类(class)的项目。到目前为止,我已经经历了很多次迭代,这似乎是我的最后一次尝试,因为我已经反复重制它并且没有太多时间了。 :(
最佳答案
您的问题/评论以及我尝试回答的内容:
I am trying to make a choose-your-own-adventure type game while using a TextField and a TextArea, where what is written in the TextField is appended into the TextArea (this I know how to do via ActionListener).
根据我的评论,请务必创建一个使用 JTextField
的 Swing GUI。和一个 JTextArea
。然后您将添加您的 java.awt.event.ActionListener
到JTextArea
,只要用户按下<ENTER>
,ActionListener就会响应。 JTextField
内。
However, I need to have the TextArea start with a pre-written 'intro', which asks the user at the end if they want to continue or not. Therefore, I need it to be able to scan the user's response ('yes' or 'no') and choose the appropriate selection of pre-written text to follow.
这很容易完成,但听起来好像您可能正在尝试将线性控制台类型程序硬塞到 GUI 中。如果是这样,请考虑重新考虑您的程序设计,因为对一个人来说最有效的方法往往对其他人来说效果不佳。如果您确实重写,那么您应该考虑重做大部分内容,包括您的程序流程,但可能除了先前程序的“模型”部分,即所有内容的基础“业务逻辑”。
I don't want to overwrite what is already in the TextArea, I want to add to it. I suppose what I'm confused about it how I'm supposed to lay out the entire file so that it functions properly, because the different choices for the adventure span different methods. Having "String text = textField.getText();" only within the actionPerformed method means I can't use 'text' elsewhere, but moving that line up with my other variables tells me it can't reference the field before it's defined.
再次根据评论,JTextArea 有一个 append(String text)
方法,将新文本添加到已显示在 JText 区域中的现有文本中。因此,在这一点上,您的 ActionListener 的 actionPerformed
方法可能非常简单,如下所示:
public void actionPerformed(ActionEvent e) {
String text = textField.getText();
textArea.append(text):
}
尽管您可能需要添加换行符,"\n"
在您要 append 的文本之前和/或之后。
关于java - 如何将预先建立的文本和用户响应 append 到 Java 的文本区域中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22733374/
我是一名优秀的程序员,十分优秀!