【问题标题】:Capturing System.out.println or stdout data to a swing memo (Huge Data)将 System.out.println 或 stdout 数据捕获到摇摆备忘录(海量数据)
【发布时间】:2011-09-13 01:29:55
【问题描述】:

您好,我需要在备忘录中显示结果,而不是使用 System.out.println,但是不可能将标准输出放在一个列表中,例如,在摆动备忘录中显示这个列表的内容之后,因为我需要结果的每一行都实时显示或显示时显示。

我想像 System.out.println 的观察者一样工作,当控制台中打印了一些数据或信息时,我希望能够捕获它并显示在备忘录中。

为了更好地理解,我在 unix 服务器中远程执行一些命令,并在标准输出中检索这些命令的结果,并用它们计算一些时间和指标,当然我需要这样做来模拟一个远程应用程序。

解决方案可以是一种在备忘录生成的确切时间显示备忘录列表中的每一行或每个项目的方法。

swing memo 可以处理大字符串,超过 500kb 还是超过 1MB?

因为我的ID中sdtout中打印的整个结果真的很大。

谢谢

【问题讨论】:

    标签: java string swing list stdout


    【解决方案1】:

    参见Message Console,其描述中写道:

    有时您可能希望捕获程序的输出并将其显示给用户。这通常通过创建控制台来完成。使用 Swing,使用 JTextArea 或 JTextPane 创建一个简单的控制台并不难。我们的消息控制台将能够显示写入 System.out 和 System.err 的输出。 ..

    消息控制台截图

    append 模式下消息控制台的JTextPane 形式。

    (屏幕截图来自 Rob Camick 的“Java Tips Weblog”上的链接文章。)

    【讨论】:

      【解决方案2】:

      你可以找到你要找的here

      网页是法语的,但还是代码,很清晰,用java写的。

      基本上,它们使用线程从 2 PipedOutputStream 中读取。其中一个插入 System.out,第二个插入 System.err。当某个 pipedOutputStream 中有可用的内容时,它们会将其写入小部件中。

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 1970-01-01
        • 2015-01-11
        • 1970-01-01
        • 2011-12-16
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多