【问题标题】:Can only print one element from an array in a Text Area, need to print all. Using Netbeans [duplicate]只能打印文本区域中数组中的一个元素,需要打印全部。使用 Netbeans [重复]
【发布时间】:2016-01-26 22:32:24
【问题描述】:
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              

        for(int j=0; j <= topics.size(); j++)  {
              outputBox.setText("Pg#"+ j + ": " + topics.get(j));
        }

这段代码只会在文本区域中显示我数组中的一个元素,任何想法或帮助将不胜感激。

【问题讨论】:

  • 快速简单的答案 1:使用 append 将文本附加到 JTextArea 中已经存在的文本。快速简单的答案 2:使用 StringBuilder 在 for 循环中创建您的字符串,然后使用如此构造的字符串设置 JTextArea 的文本。更好的长期答案:提高您的搜索技能,因为这类问题很常见,并且在本网站或通过 Google 很容易找到,或者只需仔细阅读 Java API 中的 JTextArea 条目即可。
  • 请注意,由于此表达式:j &lt;= topics.size();,您的 for 循环看起来有抛出 ArrayIndexOutOfBoundsException 的风险。您确定要在此处使用&lt;= 吗?

标签: java arrays swing for-loop jtextarea


【解决方案1】:

每次调用 setText() 时,您都在替换数据。你只能做一个,因为你一直在写它。

您需要添加一个新行。

为此,您需要:

outputBox.append(yourtext);
outputBox.append('\n'); //when you want to add a new line

【讨论】:

  • 能不能说的再具体一点,我明白你说的,只是不知道怎么实现新行……
  • @GrandMaster:请看link
  • @GrandMaster:或者简单的谷歌add new line JTextArea,前 10 名都说同样的话。
猜你喜欢
  • 2021-10-09
  • 2017-10-13
  • 2012-09-25
  • 2019-02-26
  • 2021-05-03
  • 2012-06-09
  • 2022-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多