【问题标题】:jTextArea outprint text verticallyjTextArea 垂直打印文本
【发布时间】:2013-12-23 06:05:40
【问题描述】:

目前我正在执行操作(单击菜单项),这些操作存储在 arrayList 中。当我单击一个按钮时,此文本以一长行输出(每个项目一个接一个地打印)。我想知道如何更改它,以便当我单击按钮时,所有测试都垂直打印。谢谢! 这是我目前正在使用的代码!

jtaWoof.append(MyFrame.shape1.getArrayList()+"\n");

【问题讨论】:

  • getArrayList() 是否返回 ArrayList<String>
  • 是的。这是我的 getter 和 setter。
  • public String getArrayList() { return arrayList.toString(); } public void setArrayList(ArrayList arrayList) { this.arrayList.addAll(arrayList); }
  • 您的 getter 方法返回一个字符串,而不是 ArrayList。应该是public ArrayList<String> getArrayList() { return arrayList; }。您应该在问题中添加更多代码以使其更清晰。还显示预期/实际输出
  • 这工作..非常感谢你,我真的很感激!我很抱歉解释不佳。

标签: java swing arraylist jtextarea


【解决方案1】:

看起来您一次性添加了 ArrayList 的内容。您应该使用循环遍历 ArrayList 并将每个条目附加到 jtaWoof

    ArrayList<String> list = MyFrame.shape1.getArrayList();
    for(String s : list){
        jtaWoof.append(s);
        jtaWoof.append("\n");
    }

【讨论】:

  • 我会做一个最小的改变jtaWoof.append(s); jtaWoof.append("\n");
  • @nachokk 是为了提高可读性还是对性能有影响?
  • 不知道jvm有多聪明,但是当你用+连接时,会在内部创建一个stringBuffer,并创建一个新的字符串,如果你用作文字,那么它会被池化并且总是同一个例子。我真的不知道性能影响
猜你喜欢
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 2016-02-24
  • 1970-01-01
  • 2012-02-15
相关资源
最近更新 更多