我正在开发一个带有GUI的程序,需要将多行输出到某种TextArea。我尝试使用JTextArea
执行此操作,但事实证明,在将新文本设置为JTextArea时,旧文本将被删除。是否有某种方法可以将多行打印到JTextArea
?或者我应该使用完全不同的方法/组件来显示文本?
我希望这会澄清:
for (int n = 0; n <= this.length; n++) {
for (int m = 0; m <= that.length; m++) {
txtaResult.setText("thisthis is " + n + "\n");
Random randomGenerator = new Random();
randomNumber = randomGenerator.nextInt(9)+1;
txtaResult.setText(thatthat, " + m + ", is " + randomNumber\n");
}
}
(txtaResult
是JTextArea
)所以我希望两个txtaResult.setText
中的文字保持在JTextArea
中并在所有迭代过程中相互添加。< / p>
答案 0 :(得分:2)
只需使用append
方法代替setText
。一切都像我期望的那样 - 如果setText
附加了,我会感到非常惊讶。
如果您出于某种原因不想使用append
,可以致电getText
并自行连接文字:
txtaResult.setText(textaResult.getText() + "whatever");
...但使用append
更清晰,效率更高。
顺便说一下,你的循环边界看起来很奇怪(通常你使用的是<
而不是<=
),最好创建一个{em>单个实例{ {1}}并多次致电Random
。