当前位置:  开发笔记 > 编程语言 > 正文

如何在eclipse中打印到textArea而不是console?

如何解决《如何在eclipse中打印到textArea而不是console?》经验,为你挑选了1个好方法。

我目前有一个程序,以各种方式打印文本行,如'System.out.println()'语句和循环打印数组中的所有元素到屏幕.

我现在在一个单独的类中为这个程序添加一个GUI.我的问题是我想将打印到eclipse控制台的所有内容打印到我的GUI中的文本框中.这是可能的,如果是这样,我将如何做到这一点.



1> 小智..:

如果您确实想这样做,请将System OutputStream设置为PipedOutputStream并将其连接到您读取的PipedInputStream,以便向组件添加文本,例如:

PipedOutputStream pOut = new PipedOutputStream();
System.setOut(new PrintStream(pOut));
PipedInputStream pIn = new PipedInputStream(pOut);
BufferedReader reader = new BufferedReader(new InputStreamReader(pIn));

然后,您可以从阅读器中读取并将其写入文本组件,例如:

while(appRunning) {
    try {
        String line = reader.readLine();
        if(line != null) {
            // Write line to component
        }
    } catch (IOException ex) {
        // Handle ex
    }
}

我建议您不要将System.out用于您的应用程序输出,它可以被任何东西使用(例如您决定使用的任何第三方库).我会使用某种类型的日志记录(java.util.logging,Log4J等)和适当的appender来写入您的组件.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有