Netbeans 中的多行输出?
Multiline output in Netbeans?
我正在开发一个带有 GUI 的程序,它需要将多行输出到某种 TextArea。我尝试使用 JTextArea
执行此操作,但事实证明,在为 JTextArea 设置新文本时,旧文本会被删除。将多行打印到 JTextArea
是某种方式吗?还是我应该使用完全不同的 method/component 来显示文本?
我希望这会澄清:
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
中并在所有迭代中相互添加.
只需使用 append
方法而不是 setText
。一切都完全按照我的预期运行 - 如果 setText
附加了 ,我会感到非常惊讶。
如果您出于某种原因不想使用 append
,您可以调用 getText
并自己连接文本:
txtaResult.setText(textaResult.getText() + "whatever");
...但使用 append
更清洁并且可能更有效率。
顺便说一句,你的循环边界看起来很奇怪(通常你会使用 <
而不是 <=
)并且最好创建一个 single Random
的实例并对其多次调用 nextInt
。
我正在开发一个带有 GUI 的程序,它需要将多行输出到某种 TextArea。我尝试使用 JTextArea
执行此操作,但事实证明,在为 JTextArea 设置新文本时,旧文本会被删除。将多行打印到 JTextArea
是某种方式吗?还是我应该使用完全不同的 method/component 来显示文本?
我希望这会澄清:
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
中并在所有迭代中相互添加.
只需使用 append
方法而不是 setText
。一切都完全按照我的预期运行 - 如果 setText
附加了 ,我会感到非常惊讶。
如果您出于某种原因不想使用 append
,您可以调用 getText
并自己连接文本:
txtaResult.setText(textaResult.getText() + "whatever");
...但使用 append
更清洁并且可能更有效率。
顺便说一句,你的循环边界看起来很奇怪(通常你会使用 <
而不是 <=
)并且最好创建一个 single Random
的实例并对其多次调用 nextInt
。