繁体   English   中英

System.out.println输出到JTextArea

[英]System.out.println output to JTextArea

我想每次调用System.out.println追加到给定的JTextArea,而不必更改对System.out.println的所有调用......这可能吗?

谢谢。

自1.5以来的Java版本具有System.setOut() ,允许您安装自己的PrintStream 只需创建一个简单的OutputStream ,它通过write()附加数据然后将其包装在PrintStream并安装它。

那么你可以使用jTextArea.append("Your String")方法来做到这一点

我不认为有一个简单的方法。 我通常会尝试在我的代码中避免使用System.out调用,原因就是这种情况。 如果您有一个像(比方说) MyUtil.myOutput()那么您可以进行一次更改并将其重新路由到您想要的位置

我想你可能会使用某种形式的AspectJ来做这件事,但我认为这可能有点过头了。 我会做的是创建一个既可以打印又可以附加的方法。

public void printAndAppend(String text) {
      System.out.println(text);
      textArea.append(text);
}

然后,您可以只对System.out.println执行全局查找和替换,并将其替换为printAndAppend

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM