如何将所有控制台输出重定向到GUI文本框?

9 java eclipse user-interface

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

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

提前致谢.

the*_*ega 22

查看这篇题为" 将System.out和System.err重定向到JTextPane或JTextArea"的博客文章.它几乎描述了您需要的一切.

基本思想是您创建自己的专用输出流.在您的write()方法实现中,您调用一些代码将新数据附加到文本框中.然后,System.out通过调用System.setOut()或将此新输出流设置为System.setErr().

注意:该文章缺少一件事.您需要在一个单独的线程中启动您的程序.


Rom*_*las 7

一个主意:

创建自己的PrintStream,将所有内容输出到此文本框.然后将此新PrintStream设置为标准输出流,如下所示:

System.setOut(myPrintStream());
Run Code Online (Sandbox Code Playgroud)