您好我需要使用System.out.println在备忘录中显示结果,但是不能将stdout放在列表中,例如在摆动备忘录中显示此列表的内容后因为我需要实时或显示结果的每一行。
我认为某些东西的作用类似于System.out.println的观察者,并且当在控制台中打印了一些数据或信息时,我希望能够捕获它并显示在备忘录中。
为了更好地理解,我在unix服务器中远程执行一些命令,并在stdout中检索这些命令的结果,并用它们计算一些时间和指标,我绝对需要以这种方式模拟行为。远程应用程序。
该解决方案可以在备忘录的生产时间内显示备忘录列表中的每一行或每个项目。
摇摆备忘录可以处理超过500kb或超过1MB的大字符串?
因为在我的ID中的sdtout中打印的整个结果非常大。
Thx
答案 0 :(得分:5)
请参阅Message Console,其描述如下:
有时您可能希望从程序中捕获输出并将其显示给用户。这通常通过创建控制台来完成。使用Swing,使用JTextArea或JTextPane创建一个简单的控制台并不困难。我们的消息控制台将能够显示写入System.out和System.err的输出。 ..
JTextPane
格式的append
形式的消息控制台。
(截图来自Rob Camick的'Java Tips Weblog'中的链接文章。)
答案 1 :(得分:3)
您可以找到您要找的内容here:
网页是法语,但仍然是代码,在java中非常清楚。
基本上,他们使用线程从2个PipedOutputStream中读取。其中一个插在System.out上,第二个插在System.err上。当其中一个pipedOutputStream中有内容可用时,他们会在小部件中写入它。