当前位置: 首页 > 知识库问答 >
问题:

如何将预先建立的文本和用户响应附加到Java的文本区域中?

金晨
2023-03-14

我将尽我所能解释-我正在尝试制作一个选择你自己的冒险类型的游戏,同时使用TextField和TextArea,其中TextField中写的内容被附加到TextArea中(这我知道如何通过ActionListener做到)。

然而,我需要让TextArea以一个预先编写的“简介”开始,它在最后询问用户是否想继续。因此,我需要它能够扫描用户的响应(“是”或“否”),并选择适当的预写文本。

我不想覆盖文本区域中已经存在的内容,我想添加到文本区域中。我想我所困惑的是,我应该如何布局整个文件以使其正常工作,因为冒险的不同选择跨越不同的方法。具有“String text=textField.getText();”只有在actionPerformed方法中,才意味着我不能在其他地方使用“text”,但将该行与其他变量对齐会告诉我,在定义字段之前,它不能引用该字段。

我对Java相当陌生,正在作为非编程学校课程的一个项目进行这方面的工作。到目前为止,我已经经历了多次迭代,这似乎是我的最后一次尝试,因为我已经重复地重新制作了它,没有多少时间了(

共有1个答案

钱渊
2023-03-14

您的问题/评论和我的回答:

我正在尝试制作一个选择你自己的冒险类型的游戏,同时使用一个TextField和一个TextArea,其中TextField中写的内容被附加到TextArea中(我知道如何通过ActionListener完成)。

根据我的评论,请务必创建一个Swing GUI,它将使用JTextFieldJTextArea。然后,您将java.awt.event.ActionListener添加到JTextArea,并且ActionListener将在用户按下时响应

然而,我需要让TextArea以一个预先编写的“简介”开始,它在最后询问用户是否想继续。因此,我需要它能够扫描用户的响应(“是”或“否”),并选择适当的预写文本。

这很容易做到,但听起来好像您可能正在尝试将线性控制台类型的程序固定到GUI中。如果是这样,请考虑重新考虑您的程序设计,因为对一个人最有效的方法通常对另一个人不起作用。如果您确实重新编写,那么您应该考虑重做大部分内容,包括您的程序流程,但可能不包括您之前程序的“模型”部分,即支撑一切的“业务逻辑”。

我不想覆盖文本区域中已经存在的内容,我想添加到文本区域中。我想我所困惑的是,我应该如何布局整个文件以使其正常工作,因为冒险的不同选择跨越不同的方法。具有“String text=textField.getText();”只有在actionPerformed方法中,才意味着我不能在其他地方使用“text”,但将该行与其他变量对齐会告诉我,在定义字段之前,它不能引用该字段。

同样,根据评论,JTextArea有一个append(String text)方法,它将向已经显示在您的JText区域中的现有文本添加新文本。因此,在这一点上,您的ActionListener的actionPerform方法可能非常简单,看起来像:

public void actionPerformed(ActionEvent e) {
  String text = textField.getText();
  textArea.append(text):
}

尽管您可能需要在要附加的文本之前和/或之后添加换行符。

 类似资料:
  • 问题内容: 首先,我对Java非常基础。我正在尝试浏览.txt文件并将其内容加载到文本区域。我已经完成了该部分,直到从JFileChooser接收文件为止,现在我不知道如何做其余的工作。 问题答案: 使用所有Swing文本组件都支持的read(…)和write(…)方法。简单的例子:

  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t

  • 我想问一下,是否有人能帮助我创建一个文本区,用户可以在这里写下他们喜欢的东西(用于日志),然后不再使用javascript、HTML和CSS来发布它。谢谢

  • 这是我在许多web应用程序中注意到的一个功能,我希望它位于我的JavaFX应用程序的文本区域。 桌面版的海明威提供了一个很好的例子:

  • 下面的php代码用于预填充输入框,但不适用于文本区域。问题是标准输入框的高度很小,所以文本显示在一行上。我尝试使用文本区域,但它出现空白时,呈现。代码显示了这两种方法,工作方法,然后是文本区域方法。有谁能给出建议吗?

  • 我有一个更新按钮按下的文本区域(此更新工作正常)。更新时,文本区域中会出现一个长列表,需要滚动条。然而,当我添加下面的最后两行时,不仅滚动条没有显示,文本也没有显示。如何修复此问题?(我不熟悉java swing,所以答案越简单越好)